[PATCH v2 39/46] hugetlb: x86: enable high-granularity mapping for x86_64

From: James Houghton
Date: Fri Feb 17 2023 - 19:31:41 EST


Now that HGM is fully supported for GENERAL_HUGETLB, we can enable it
for x86_64. We can only enable it for 64-bit architectures because the
vm flag VM_HUGETLB_HGM uses a high bit.

The x86 KVM MMU already properly handles HugeTLB HGM pages (it does a
page table walk to determine which size to use in the second-stage page
table instead of, for example, checking vma_mmu_pagesize, like arm64
does).

Signed-off-by: James Houghton <jthoughton@xxxxxxxxxx>

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 3604074a878b..fde9ba1dd8d7 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -126,6 +126,7 @@ config X86
select ARCH_WANT_GENERAL_HUGETLB
select ARCH_WANT_HUGE_PMD_SHARE
select ARCH_WANT_HUGETLB_PAGE_OPTIMIZE_VMEMMAP if X86_64
+ select ARCH_WANT_HUGETLB_HIGH_GRANULARITY_MAPPING if X86_64
select ARCH_WANT_LD_ORPHAN_WARN
select ARCH_WANTS_THP_SWAP if X86_64
select ARCH_HAS_PARANOID_L1D_FLUSH
--
2.39.2.637.g21b0678d19-goog