Shift the logic for defining THREAD_SHIFT logic to Kconfig in order to
allow override by users.

Signed-off-by: Hamish Martin <hamish.mar...@alliedtelesis.co.nz>
Reviewed-by: Chris Packham <chris.pack...@alliedtelesis.co.nz>
---
 arch/powerpc/Kconfig                   | 10 ++++++++++
 arch/powerpc/include/asm/thread_info.h | 10 +---------
 2 files changed, 11 insertions(+), 9 deletions(-)

diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 281f4f1fcd1f..cd4dd9354b3c 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -669,6 +669,16 @@ config PPC_256K_PAGES
 
 endchoice
 
+config THREAD_SHIFT
+       int "Thread shift" if EXPERT
+       range 13 15
+       default "15" if PPC_256K_PAGES
+       default "14" if PPC64
+       default "13"
+       help
+         Used to define the stack size. The default is almost always what you
+         want. Only change this if you know what you are doing.
+
 config FORCE_MAX_ZONEORDER
        int "Maximum zone order"
        range 8 9 if PPC64 && PPC_64K_PAGES
diff --git a/arch/powerpc/include/asm/thread_info.h 
b/arch/powerpc/include/asm/thread_info.h
index 87e4b2d8dcd4..2e17d668c472 100644
--- a/arch/powerpc/include/asm/thread_info.h
+++ b/arch/powerpc/include/asm/thread_info.h
@@ -10,15 +10,7 @@
 
 #ifdef __KERNEL__
 
-/* We have 8k stacks on ppc32 and 16k on ppc64 */
-
-#if defined(CONFIG_PPC64)
-#define THREAD_SHIFT           14
-#elif defined(CONFIG_PPC_256K_PAGES)
-#define THREAD_SHIFT           15
-#else
-#define THREAD_SHIFT           13
-#endif
+#define THREAD_SHIFT           CONFIG_THREAD_SHIFT
 
 #define THREAD_SIZE            (1 << THREAD_SHIFT)
 
-- 
2.11.0

Reply via email to