KVM: ARM: Support hugetlbfs backed huge pages
authorChristoffer Dall <christoffer.dall@linaro.org>
Thu, 1 Nov 2012 16:14:45 +0000 (17:14 +0100)
committerChristoffer Dall <christoffer.dall@linaro.org>
Fri, 18 Oct 2013 00:06:20 +0000 (17:06 -0700)
commitad361f093c1e31d0b43946210a32ab4ff5c49850
tree2bfef51798c8e6a916c9a961dd293fd919b0258a
parent86ed81aa2e1ce05a4e7f0819f0dfc34e8d8fb910
KVM: ARM: Support hugetlbfs backed huge pages

Support huge pages in KVM/ARM and KVM/ARM64.  The pud_huge checking on
the unmap path may feel a bit silly as the pud_huge check is always
defined to false, but the compiler should be smart about this.

Note: This deals only with VMAs marked as huge which are allocated by
users through hugetlbfs only.  Transparent huge pages can only be
detected by looking at the underlying pages (or the page tables
themselves) and this patch so far simply maps these on a page-by-page
level in the Stage-2 page tables.

Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
arch/arm/include/asm/kvm_mmu.h
arch/arm/include/asm/pgtable-3level.h
arch/arm/kvm/mmu.c
arch/arm64/include/asm/kvm_mmu.h
arch/arm64/include/asm/pgtable-hwdef.h