powerpc/kconfig: define PAGE_SHIFT inside Kconfig
authorChristophe Leroy <christophe.leroy@c-s.fr>
Thu, 21 Feb 2019 19:08:46 +0000 (19:08 +0000)
committerMichael Ellerman <mpe@ellerman.id.au>
Sat, 23 Feb 2019 10:04:32 +0000 (21:04 +1100)
This patch defined CONFIG_PPC_PAGE_SHIFT in order
to be able to use PAGE_SHIFT value inside Kconfig.

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/Kconfig
arch/powerpc/include/asm/page.h

index 3d5d63c9b797dbc32e575682ea0c6a83aabe59bf..0f933797c376669d4737fdd1c8af261b623ab6ba 100644 (file)
@@ -704,6 +704,13 @@ config PPC_256K_PAGES
 
 endchoice
 
+config PPC_PAGE_SHIFT
+       int
+       default 18 if PPC_256K_PAGES
+       default 16 if PPC_64K_PAGES
+       default 14 if PPC_16K_PAGES
+       default 12
+
 config THREAD_SHIFT
        int "Thread shift" if EXPERT
        range 13 15
index aa4497175bd3edd80ba79324e81df2e4be7688cb..ed870468ef6f12562f7833fc8af56bb24d44cc85 100644 (file)
 
 /*
  * On regular PPC32 page size is 4K (but we support 4K/16K/64K/256K pages
- * on PPC44x). For PPC64 we support either 4K or 64K software
+ * on PPC44x and 4K/16K on 8xx). For PPC64 we support either 4K or 64K software
  * page size. When using 64K pages however, whether we are really supporting
  * 64K pages in HW or not is irrelevant to those definitions.
  */
-#if defined(CONFIG_PPC_256K_PAGES)
-#define PAGE_SHIFT             18
-#elif defined(CONFIG_PPC_64K_PAGES)
-#define PAGE_SHIFT             16
-#elif defined(CONFIG_PPC_16K_PAGES)
-#define PAGE_SHIFT             14
-#else
-#define PAGE_SHIFT             12
-#endif
-
+#define PAGE_SHIFT             CONFIG_PPC_PAGE_SHIFT
 #define PAGE_SIZE              (ASM_CONST(1) << PAGE_SHIFT)
 
 #ifndef __ASSEMBLY__