]> asedeno.scripts.mit.edu Git - linux.git/commit
KVM: arm/arm64: Stop using the kernel's {pmd,pud,pgd}_populate helpers
authorMarc Zyngier <marc.zyngier@arm.com>
Wed, 27 Jun 2018 14:51:05 +0000 (15:51 +0100)
committerMarc Zyngier <marc.zyngier@arm.com>
Mon, 9 Jul 2018 10:37:42 +0000 (11:37 +0100)
commit0db9dd8a0fbd5c861737bf2a8a2852e56dbd7ceb
tree0af37b0db4492e510c9366f9f3c8c7b16920c680
parent88dc25e8ea7c968bbf76d033431e2d7e1418bcd7
KVM: arm/arm64: Stop using the kernel's {pmd,pud,pgd}_populate helpers

The {pmd,pud,pgd}_populate accessors usage have always been a bit weird
in KVM. We don't have a struct mm to pass (and neither does the kernel
most of the time, but still...), and the 32bit code has all kind of
cache maintenance that doesn't make sense on ARMv7+ when MP extensions
are mandatory (which is the case when the VEs are present).

Let's bite the bullet and provide our own implementations. The only bit
of architectural code left has to do with building the table entry
itself (arm64 having up to 52bit PA, arm lacking PUD level).

Acked-by: Mark Rutland <mark.rutland@arm.com>
Acked-by: Christoffer Dall <christoffer.dall@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
arch/arm/include/asm/kvm_mmu.h
arch/arm64/include/asm/kvm_mmu.h
virt/kvm/arm/mmu.c