@@ -36,6 +36,10 @@ CONFIG_LOWMEM_CAM_NUM policy<{'powerpc-powerpc-e500mc'
CONFIG_ARM_DMA_IOMMU_ALIGNMENT policy<{'armhf': '8'}>
CONFIG_ARM_PATCH_PHYS_VIRT policy<{'armhf': 'y'}>
+# Menu: Architecture: arm64
+CONFIG_ARM64_VA_BITS policy<{'arm64': '48'}>
+CONFIG_ARM64_VA_BITS mark<ENFORCED> note<Cavium ThunderX 2-socket needs a minimum of 41 bits of VA>
+
# Menu: Architecture: powerpc
CONFIG_PPC64 policy<{'powerpc-powerpc64-emb': 'y', 'powerpc-powerpc64-smp': 'y', 'powerpc-powerpc-e500mc': 'n', 'powerpc-powerpc-smp': 'n', 'ppc64el': 'y'}>
CONFIG_NR_IRQS policy<{'powerpc': '512', 'ppc64el': '512'}>
@@ -272,7 +272,7 @@ CONFIG_PCIPCWATCHDOG=m
CONFIG_PCI_PASID=y
CONFIG_PCI_PRI=y
CONFIG_PCI_QUIRKS=y
-CONFIG_PGTABLE_LEVELS=3
+CONFIG_PGTABLE_LEVELS=4
CONFIG_PGTABLE_MAPPING=y
CONFIG_PHANTOM=m
CONFIG_PHONET=m
@@ -499,9 +499,9 @@ CONFIG_ARM64_HW_AFDBM=y
CONFIG_ARM64_PAN=y
# CONFIG_ARM64_PTDUMP is not set
# CONFIG_ARM64_RANDOMIZE_TEXT_OFFSET is not set
-CONFIG_ARM64_VA_BITS=39
-CONFIG_ARM64_VA_BITS_39=y
-# CONFIG_ARM64_VA_BITS_48 is not set
+CONFIG_ARM64_VA_BITS=48
+# CONFIG_ARM64_VA_BITS_39 is not set
+CONFIG_ARM64_VA_BITS_48=y
CONFIG_ARMADA375_USBCLUSTER_PHY=y
CONFIG_ARMADA_370_CLK=y
CONFIG_ARMADA_370_XP_TIMER=y
On NUMA implementations of Cavium ThunderX, node1 memory addresses start with bit 40 set to 1, and therefore requires >= 41 bits of VA. A side effect of this is an increase from 3 to 4 page table levels. Note: The alternative way to increase VA bits w/o moving to 4 level page tables would be to adopt a larger page size. That would have a far more significant impact to memory usage, and is known to have issue with current Ubuntu userspace: https://lists.ubuntu.com/archives/ubuntu-devel/2014-December/038572.html http://bugs.launchpad.net/bugs/1520162 Signed-off-by: dann frazier <dann.frazier@canonical.com> --- debian.master/config/annotations | 4 ++++ debian.master/config/arm64/config.common.arm64 | 2 +- debian.master/config/config.common.ubuntu | 6 +++--- 3 files changed, 8 insertions(+), 4 deletions(-)