From d62cabc4038474afcc3d7eafce24d3f805456eb7 Mon Sep 17 00:00:00 2001 From: Sudarshan Rajagopalan Date: Tue, 15 May 2018 20:16:34 -0700 Subject: [PATCH] arm64: Make section size configurable for memory hotplug Currently On arm64, memory section size is hard-coded to 1G. Make this configurable if memory-hotplug is enabled, to support more finer granularity for hotplug-able memory. Change-Id: Id889f93537df8ae7e72094b552cff735d31048e6 Signed-off-by: Sudarshan Rajagopalan [swatsrid@codeaurora.org: Fix merge conflicts] Signed-off-by: Swathi Sridhar [isaacm@codeaurora.org: Remove unnecessary config dependency] Signed-off-by: Isaac J. Manjarres --- arch/arm64/Kconfig | 11 +++++++++++ arch/arm64/include/asm/sparsemem.h | 4 ++++ 2 files changed, 15 insertions(+) diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index 8b2504a233fe..7ea702a08cf0 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig @@ -282,6 +282,17 @@ config ARCH_ENABLE_MEMORY_HOTREMOVE config SMP def_bool y +config HOTPLUG_SIZE_BITS + int "Memory hotplug block size(29 => 512MB 30 => 1GB)" + depends on SPARSEMEM + depends on MEMORY_HOTPLUG + default 30 + help + Selects granularity of hotplug memory. Block + size for memory hotplug is represent as a power + of 2. + If unsure, stick with default value. + config KERNEL_MODE_NEON def_bool y diff --git a/arch/arm64/include/asm/sparsemem.h b/arch/arm64/include/asm/sparsemem.h index 1f43fcc79738..3d5310f3aad5 100644 --- a/arch/arm64/include/asm/sparsemem.h +++ b/arch/arm64/include/asm/sparsemem.h @@ -7,7 +7,11 @@ #ifdef CONFIG_SPARSEMEM #define MAX_PHYSMEM_BITS CONFIG_ARM64_PA_BITS +#ifndef CONFIG_MEMORY_HOTPLUG #define SECTION_SIZE_BITS 30 +#else +#define SECTION_SIZE_BITS CONFIG_HOTPLUG_SIZE_BITS +#endif #endif #endif