Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753370AbaFXKYF (ORCPT ); Tue, 24 Jun 2014 06:24:05 -0400 Received: from cam-admin0.cambridge.arm.com ([217.140.96.50]:53758 "EHLO cam-admin0.cambridge.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751855AbaFXKYD (ORCPT ); Tue, 24 Jun 2014 06:24:03 -0400 Date: Tue, 24 Jun 2014 11:23:27 +0100 From: Will Deacon To: Christoffer Dall Cc: Marc Zyngier , Kim Phillips , "kvm@vger.kernel.org" , Eric Auger , Kim Phillips , "linux-kernel@vger.kernel.org" , Alex Williamson , Antonios Motakis , "kvmarm@lists.cs.columbia.edu" , "linux-arm-kernel@lists.infradead.org" Subject: Re: [PATCH 2/2] ARM: KVM: user_mem_abort: support stage 2 MMIO page mapping Message-ID: <20140624102327.GA9121@arm.com> References: <1395785294-2545-1-git-send-email-kim.phillips@linaro.org> <1395785294-2545-2-git-send-email-kim.phillips@linaro.org> <20140506180448.GH3066@lvm> <87bnvaotei.fsf@approximate.cambridge.arm.com> <20140507145557.GJ3066@lvm> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140507145557.GJ3066@lvm> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, May 07, 2014 at 03:55:57PM +0100, Christoffer Dall wrote: > On Wed, May 07, 2014 at 10:00:21AM +0100, Marc Zyngier wrote: > > On Tue, May 06 2014 at 7:04:48 pm BST, Christoffer Dall wrote: > > > On Tue, Mar 25, 2014 at 05:08:14PM -0500, Kim Phillips wrote: > > >> Use the correct memory type for device MMIO mappings: PAGE_S2_DEVICE. > > >> > > >> Signed-off-by: Kim Phillips > > >> --- > > >> arch/arm/kvm/mmu.c | 11 ++++++++--- > > >> 1 file changed, 8 insertions(+), 3 deletions(-) [...] > > > I think this looks reasonable. > > > > > > Acked-by: Christoffer Dall > > > > I feel like I'm missing some context here, and the commit message is way > > too terse for me to make sense of it. > > > > So far, we can only get into user_mem_abort on a Stage-2 fault > > (translation or permission) for memory. How can we suddenly get here for > > a *device* fault? Do we get a special kind of memslot? > > > > I'm not saying the patch does anything wrong, but I'd like to understand > > the rationale behind it. On its own, it doesn't make much sense. > > > Think device passthrough. There's nothing preventing user space from > setting up a memory region to point to device memory (through VFIO or > /dev/mem). If that's done, we should enforce device memory properties > so writes don't linger around in the cache to be written some time later > when that device memory potentially doesn't belong to the VM anymore. > > This is just one tiny piece of all of them to make device passthrough > work, and we could hold off with this patch until we have something more > complete. On the other hand, we need to start somewhere, and this is > hardly intrusive and is functionally correct even though you don't have > a full device passthrough setup. Please can you queue this patch up? I need it for my VFIO work, where I'm registering the PCI BARs using KVM_SET_USER_MEMORY_REGION. Without this, I'd have to trap all accesses and do pread/pwrite from kvmtool instead of mmaping the regions straight through. Cheers, Will -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/