History

ARM: 8980/1: Allow either FLATMEM or SPARSEMEM on the multiplatform build

ARMv7 chips with LPAE can often benefit from SPARSEMEM, as portions of system memory can be located deep in the 36-bit address space. Allow FLATMEM or SPARSEMEM to be selectable at compile time; FLATMEM remains the default. This is based on Kevin's "[PATCH 3/3] ARM: Allow either FLATMEM or SPARSEMEM on the multi-v7 build" from [1] and shamelessly rips off his commit message text above. As Arnd pointed out at [2] there doesn't seem to be any reason to tie this specifically to ARMv7, so this has been changed to apply to all multiplatform kernels. The addition of this option does not change the defaults and a build with any defconfig will behave the same way as previously. The only effect this change has is to enable user to change "Memory model" selection in interactive kernel configuration (menuconfig, xconfig etc). [1] http://lists.infradead.org/pipermail/linux-arm-kernel/2014-September/286837.html [2] http://lists.infradead.org/pipermail/linux-arm-kernel/2014-October/298950.html [ rppt: added ARCH_SELECT_MEMORY_MODEL and updated the changelog ]

Gregory Fong committed 6 years ago

Commit fb597f21 parent 98f3f7e1 file · +10 −1Browse files

Unified · Split

arch/arm/Kconfig+10−1
@@ -312,6 +312,9 @@ choice · 311 unmodified lines
312config ARCH_MULTIPLATFORM312config ARCH_MULTIPLATFORM
313 bool "Allow multiple platforms to be selected"313 bool "Allow multiple platforms to be selected"
314 depends on MMU314 depends on MMU
315 select ARCH_FLATMEM_ENABLE
316 select ARCH_SPARSEMEM_ENABLE
317 select ARCH_SELECT_MEMORY_MODEL
315 select ARM_HAS_SG_CHAIN318 select ARM_HAS_SG_CHAIN
316 select ARM_PATCH_PHYS_VIRT319 select ARM_PATCH_PHYS_VIRT
317 select AUTO_ZRELADDR320 select AUTO_ZRELADDR
@@ -1515,9 +1518,15 @@ config OABI_COMPAT · 1197 unmodified lines
1515config ARCH_HAS_HOLES_MEMORYMODEL1518config ARCH_HAS_HOLES_MEMORYMODEL
1516 bool1519 bool
1517 1520
1521config ARCH_SELECT_MEMORY_MODEL
1522 bool
1523
1524config ARCH_FLATMEM_ENABLE
1525 bool
1526
1518config ARCH_SPARSEMEM_ENABLE1527config ARCH_SPARSEMEM_ENABLE
1519 bool1528 bool
1520 select SPARSEMEM_STATIC1529 select SPARSEMEM_STATIC if SPARSEMEM
1521 1530
1522config HAVE_ARCH_PFN_VALID1531config HAVE_ARCH_PFN_VALID
1523 def_bool ARCH_HAS_HOLES_MEMORYMODEL || !SPARSEMEM1532 def_bool ARCH_HAS_HOLES_MEMORYMODEL || !SPARSEMEM