From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoffer Dall Subject: Re: [PATCH 1/2] arm/arm64: kvm: drop inappropriate use of kvm_is_mmio_pfn() Date: Mon, 1 Dec 2014 13:23:14 +0100 Message-ID: <20141201122314.GG82106@macair> References: <1415608436-5127-1-git-send-email-ard.biesheuvel@linaro.org> <20141121112400.GB1785@cbox> <547C3AE4.40806@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Ard Biesheuvel , Marc Zyngier , "kvmarm@lists.cs.columbia.edu" , KVM devel mailing list To: Paolo Bonzini Return-path: Received: from mail-lb0-f179.google.com ([209.85.217.179]:60326 "EHLO mail-lb0-f179.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752384AbaLAMXO (ORCPT ); Mon, 1 Dec 2014 07:23:14 -0500 Received: by mail-lb0-f179.google.com with SMTP id z11so8387557lbi.38 for ; Mon, 01 Dec 2014 04:23:13 -0800 (PST) Content-Disposition: inline In-Reply-To: <547C3AE4.40806@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: On Mon, Dec 01, 2014 at 10:54:44AM +0100, Paolo Bonzini wrote: > > > On 01/12/2014 10:16, Ard Biesheuvel wrote: > > On 21 November 2014 at 12:24, Christoffer Dall > > wrote: > >> On Mon, Nov 10, 2014 at 09:33:55AM +0100, Ard Biesheuvel wrote: > >>> Instead of using kvm_is_mmio_pfn() to decide whether a host region > >>> should be stage 2 mapped with device attributes, add a new static > >>> function kvm_is_device_pfn() that disregards RAM pages with the > >>> reserved bit set, as those should usually not be mapped as device > >>> memory. > >>> > >>> Signed-off-by: Ard Biesheuvel > >>> --- > >>> arch/arm/kvm/mmu.c | 7 ++++++- > >>> 1 file changed, 6 insertions(+), 1 deletion(-) > >>> > >>> diff --git a/arch/arm/kvm/mmu.c b/arch/arm/kvm/mmu.c > >>> index 57a403a5c22b..b007438242e2 100644 > >>> --- a/arch/arm/kvm/mmu.c > >>> +++ b/arch/arm/kvm/mmu.c > >>> @@ -834,6 +834,11 @@ static bool kvm_is_write_fault(struct kvm_vcpu *vcpu) > >>> return kvm_vcpu_dabt_iswrite(vcpu); > >>> } > >>> > >>> +static bool kvm_is_device_pfn(unsigned long pfn) > >>> +{ > >>> + return !pfn_valid(pfn); > >>> +} > >>> + > >>> static int user_mem_abort(struct kvm_vcpu *vcpu, phys_addr_t fault_ipa, > >>> struct kvm_memory_slot *memslot, unsigned long hva, > >>> unsigned long fault_status) > >>> @@ -904,7 +909,7 @@ static int user_mem_abort(struct kvm_vcpu *vcpu, phys_addr_t fault_ipa, > >>> if (is_error_pfn(pfn)) > >>> return -EFAULT; > >>> > >>> - if (kvm_is_mmio_pfn(pfn)) > >>> + if (kvm_is_device_pfn(pfn)) > >>> mem_type = PAGE_S2_DEVICE; > >>> > >>> spin_lock(&kvm->mmu_lock); > >>> -- > >>> 1.8.3.2 > >>> > >> Acked-by: Christoffer Dall > > > > These 2 patches are now in 3.18-rc7, so they can be dropped from the > > kvmarm queue/next/etc branches > > If they are in queue, they can be dropped. If they are in next, please > leave them in as the next branch should not be rebased. Duplicate > commits are generally harmless. > They are in kvmarm/next and will stay there ;) -Christoffer