[GIT PULL 2/9] arm/arm64: kvm: drop inappropriate use of kvm_is_mmio_pfn()

Ard Biesheuvel ard.biesheuvel at linaro.org
Tue Dec 9 04:29:52 PST 2014


On 9 December 2014 at 12:26, Christoffer Dall
<christoffer.dall at linaro.org> wrote:
> From: Ard Biesheuvel <ard.biesheuvel at linaro.org>
>
> 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 <ard.biesheuvel at linaro.org>
> Signed-off-by: Marc Zyngier <marc.zyngier at arm.com>

As I mentioned last week, this patch (and the next one) are already in
3.18 so unless there is some policy I am unaware of, these do not have
to be submitted again.

-- 
Ard.




> ---
>  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 57a403a..b007438 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);
> --
> 2.1.2.330.g565301e.dirty
>



More information about the linux-arm-kernel mailing list