arch: define CONFIG_PAGE_SIZE_*KB on all architectures
authorArnd Bergmann <arnd@arndb.de>
Mon, 26 Feb 2024 16:14:13 +0000 (17:14 +0100)
committerArnd Bergmann <arnd@arndb.de>
Wed, 6 Mar 2024 18:29:09 +0000 (19:29 +0100)
Most architectures only support a single hardcoded page size. In order
to ensure that each one of these sets the corresponding Kconfig symbols,
change over the PAGE_SHIFT definition to the common one and allow
only the hardware page size to be selected.

Acked-by: Guo Ren <guoren@kernel.org>
Acked-by: Heiko Carstens <hca@linux.ibm.com>
Acked-by: Stafford Horne <shorne@gmail.com>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
28 files changed:
arch/alpha/Kconfig
arch/alpha/include/asm/page.h
arch/arm/Kconfig
arch/arm/include/asm/page.h
arch/csky/Kconfig
arch/csky/include/asm/page.h
arch/m68k/Kconfig
arch/m68k/Kconfig.cpu
arch/m68k/include/asm/page.h
arch/microblaze/Kconfig
arch/microblaze/include/asm/page.h
arch/nios2/Kconfig
arch/nios2/include/asm/page.h
arch/openrisc/Kconfig
arch/openrisc/include/asm/page.h
arch/riscv/Kconfig
arch/riscv/include/asm/page.h
arch/s390/Kconfig
arch/s390/include/asm/page.h
arch/sparc/Kconfig
arch/sparc/include/asm/page_32.h
arch/sparc/include/asm/page_64.h
arch/um/Kconfig
arch/um/include/asm/page.h
arch/x86/Kconfig
arch/x86/include/asm/page_types.h
arch/xtensa/Kconfig
arch/xtensa/include/asm/page.h

index d6968d090d49a7b9abe3a8ec1a8f446910ed2447..4f490250d32302087a6decd3a70e0f21b9611035 100644 (file)
@@ -14,6 +14,7 @@ config ALPHA
        select PCI_DOMAINS if PCI
        select PCI_SYSCALL if PCI
        select HAVE_ASM_MODVERSIONS
+       select HAVE_PAGE_SIZE_8KB
        select HAVE_PCSPKR_PLATFORM
        select HAVE_PERF_EVENTS
        select NEED_DMA_MAP_STATE
index 4db1ebc0ed99c201a11af6b9117aa7e253eace17..70419e6be1a354b3b846e958dfc2bb899253f5c9 100644 (file)
@@ -6,7 +6,7 @@
 #include <asm/pal.h>
 
 /* PAGE_SHIFT determines the page size */
-#define PAGE_SHIFT     13
+#define PAGE_SHIFT     CONFIG_PAGE_SHIFT
 #define PAGE_SIZE      (_AC(1,UL) << PAGE_SHIFT)
 #define PAGE_MASK      (~(PAGE_SIZE-1))
 
index 0af6709570d147f3cb914454ec7a9364a621ea9b..9d52ba3a8ad1a3898f9cf5f3c06b6986686f3460 100644 (file)
@@ -116,6 +116,7 @@ config ARM
        select HAVE_MOD_ARCH_SPECIFIC
        select HAVE_NMI
        select HAVE_OPTPROBES if !THUMB2_KERNEL
+       select HAVE_PAGE_SIZE_4KB
        select HAVE_PCI if MMU
        select HAVE_PERF_EVENTS
        select HAVE_PERF_REGS
index 119aa85d1feb4d24726f3e3619c0f46c98b07f80..62af9f7f9e963ec1810093b2fd38ee4c5a822662 100644 (file)
@@ -8,7 +8,7 @@
 #define _ASMARM_PAGE_H
 
 /* PAGE_SHIFT determines the page size */
-#define PAGE_SHIFT             12
+#define PAGE_SHIFT             CONFIG_PAGE_SHIFT
 #define PAGE_SIZE              (_AC(1,UL) << PAGE_SHIFT)
 #define PAGE_MASK              (~((1 << PAGE_SHIFT) - 1))
 
index cf2a6fd7dff8715529a7365867c1819f01bf7dbf..9c2723ab1c9415e9bab37e3b81b54b0a8936c76b 100644 (file)
@@ -89,6 +89,7 @@ config CSKY
        select HAVE_KPROBES if !CPU_CK610
        select HAVE_KPROBES_ON_FTRACE if !CPU_CK610
        select HAVE_KRETPROBES if !CPU_CK610
+       select HAVE_PAGE_SIZE_4KB
        select HAVE_PERF_EVENTS
        select HAVE_PERF_REGS
        select HAVE_PERF_USER_STACK_DUMP
index 866855e1ab439360905e8936e82a30fe9fdc784c..0ca6c408c07f27ee76398a9dc0ae502813e17408 100644 (file)
@@ -10,7 +10,7 @@
 /*
  * PAGE_SHIFT determines the page size: 4KB
  */
-#define PAGE_SHIFT     12
+#define PAGE_SHIFT     CONFIG_PAGE_SHIFT
 #define PAGE_SIZE      (_AC(1, UL) << PAGE_SHIFT)
 #define PAGE_MASK      (~(PAGE_SIZE - 1))
 #define THREAD_SIZE    (PAGE_SIZE * 2)
index 4b3e93cac72320307fa5c1bcc8127fe30204e419..7b709453d5e7eb054a897fcfabc4e80a1d594600 100644 (file)
@@ -84,12 +84,15 @@ config MMU
 
 config MMU_MOTOROLA
        bool
+       select HAVE_PAGE_SIZE_4KB
 
 config MMU_COLDFIRE
+       select HAVE_PAGE_SIZE_8KB
        bool
 
 config MMU_SUN3
        bool
+       select HAVE_PAGE_SIZE_8KB
        depends on MMU && !MMU_MOTOROLA && !MMU_COLDFIRE
 
 config ARCH_SUPPORTS_KEXEC
index 9dcf245c9cbfabd9ea028f2d4b5d6b939cdd36d9..c777a129768a0980939e6442aabd873be7b6ca0e 100644 (file)
@@ -30,6 +30,7 @@ config COLDFIRE
        select GENERIC_CSUM
        select GPIOLIB
        select HAVE_LEGACY_CLK
+       select HAVE_PAGE_SIZE_8KB if !MMU
 
 endchoice
 
@@ -45,6 +46,7 @@ config M68000
        select GENERIC_CSUM
        select CPU_NO_EFFICIENT_FFS
        select HAVE_ARCH_HASH
+       select HAVE_PAGE_SIZE_4KB
        select LEGACY_TIMER_TICK
        help
          The Freescale (was Motorola) 68000 CPU is the first generation of
index a5993ad83ed8a577013a053cc3ae82474ae11759..8cfb84b49975146162da5a62d93a4781d1479099 100644 (file)
@@ -7,11 +7,7 @@
 #include <asm/page_offset.h>
 
 /* PAGE_SHIFT determines the page size */
-#if defined(CONFIG_SUN3) || defined(CONFIG_COLDFIRE)
-#define PAGE_SHIFT     13
-#else
-#define PAGE_SHIFT     12
-#endif
+#define PAGE_SHIFT     CONFIG_PAGE_SHIFT
 #define PAGE_SIZE      (_AC(1, UL) << PAGE_SHIFT)
 #define PAGE_MASK      (~(PAGE_SIZE-1))
 #define PAGE_OFFSET    (PAGE_OFFSET_RAW)
index 211f338d6235d00dfa3592fec1ff21acd8b510c1..f18ec02ddeb2335150ee5b0ae9adb4342806aa3b 100644 (file)
@@ -31,6 +31,7 @@ config MICROBLAZE
        select HAVE_FTRACE_MCOUNT_RECORD
        select HAVE_FUNCTION_GRAPH_TRACER
        select HAVE_FUNCTION_TRACER
+       select HAVE_PAGE_SIZE_4KB
        select HAVE_PCI
        select IRQ_DOMAIN
        select XILINX_INTC
index 86a4ce07c192b11feddce52000e81847a8097c7b..8810f4f1c3b02d347592a320a50c14546a2fb360 100644 (file)
@@ -20,7 +20,7 @@
 #ifdef __KERNEL__
 
 /* PAGE_SHIFT determines the page size */
-#define PAGE_SHIFT             12
+#define PAGE_SHIFT     CONFIG_PAGE_SHIFT
 #define PAGE_SIZE      (ASM_CONST(1) << PAGE_SHIFT)
 #define PAGE_MASK      (~(PAGE_SIZE-1))
 
index 58d9565dc2c770679111bb522c0ced0eae9aff5a..79d3039b29f1fbcb5401765743426cea65f84452 100644 (file)
@@ -15,6 +15,7 @@ config NIOS2
        select GENERIC_IRQ_SHOW
        select HAVE_ARCH_TRACEHOOK
        select HAVE_ARCH_KGDB
+       select HAVE_PAGE_SIZE_4KB
        select IRQ_DOMAIN
        select LOCK_MM_AND_FIND_VMA
        select MODULES_USE_ELF_RELA
index 0ae7d9ce369b9ffc5344c30e83f45cb55d834380..0722f88e63cc7c6dfeee78cf33b8303769d1d17a 100644 (file)
@@ -21,7 +21,7 @@
 /*
  * PAGE_SHIFT determines the page size
  */
-#define PAGE_SHIFT     12
+#define PAGE_SHIFT     CONFIG_PAGE_SHIFT
 #define PAGE_SIZE      (_AC(1, UL) << PAGE_SHIFT)
 #define PAGE_MASK      (~(PAGE_SIZE - 1))
 
index fd9bb76a610bf043e292d12e9ab1cdb817bce336..3586cda55bdecaf687114d2dad14c8b1e9ceef97 100644 (file)
@@ -25,6 +25,7 @@ config OPENRISC
        select GENERIC_CPU_DEVICES
        select HAVE_PCI
        select HAVE_UID16
+       select HAVE_PAGE_SIZE_8KB
        select GENERIC_ATOMIC64
        select GENERIC_CLOCKEVENTS_BROADCAST
        select GENERIC_SMP_IDLE_THREAD
index de33ba10ee67fbcf2912d86c5f92459ff056b213..1d5913f67c312f8691b697e92290b7d5d7f2b0e8 100644 (file)
@@ -18,7 +18,7 @@
 
 /* PAGE_SHIFT determines the page size */
 
-#define PAGE_SHIFT      13
+#define PAGE_SHIFT      CONFIG_PAGE_SHIFT
 #ifdef __ASSEMBLY__
 #define PAGE_SIZE       (1 << PAGE_SHIFT)
 #else
index bffbd869a0682842883591788da784648acf1626..792a337548f660f807d27ce99e7146fa23c9a1b8 100644 (file)
@@ -136,6 +136,7 @@ config RISCV
        select HAVE_LD_DEAD_CODE_DATA_ELIMINATION if !LD_IS_LLD
        select HAVE_MOVE_PMD
        select HAVE_MOVE_PUD
+       select HAVE_PAGE_SIZE_4KB
        select HAVE_PCI
        select HAVE_PERF_EVENTS
        select HAVE_PERF_REGS
index 57e887bfa34cb70b3d829d13dbb80c3fc6bf7ba9..2947423b5082e9b7f69b25a347685af499258161 100644 (file)
@@ -12,7 +12,7 @@
 #include <linux/pfn.h>
 #include <linux/const.h>
 
-#define PAGE_SHIFT     (12)
+#define PAGE_SHIFT     CONFIG_PAGE_SHIFT
 #define PAGE_SIZE      (_AC(1, UL) << PAGE_SHIFT)
 #define PAGE_MASK      (~(PAGE_SIZE - 1))
 
index fe565f3a3a917d0da83dbd8329a503910fa41948..b61c74c100503e8d82733400a5ed745bc6c411ec 100644 (file)
@@ -199,6 +199,7 @@ config S390
        select HAVE_MOD_ARCH_SPECIFIC
        select HAVE_NMI
        select HAVE_NOP_MCOUNT
+       select HAVE_PAGE_SIZE_4KB
        select HAVE_PCI
        select HAVE_PERF_EVENTS
        select HAVE_PERF_REGS
index 73b9c3bf377f886411b687992024217e4371e08b..ded9548d11d92535c4a27cf8d72d11bd680cdd68 100644 (file)
@@ -11,7 +11,7 @@
 #include <linux/const.h>
 #include <asm/types.h>
 
-#define _PAGE_SHIFT    12
+#define _PAGE_SHIFT    CONFIG_PAGE_SHIFT
 #define _PAGE_SIZE     (_AC(1, UL) << _PAGE_SHIFT)
 #define _PAGE_MASK     (~(_PAGE_SIZE - 1))
 
index 204c43cb3d4356dfe37533701a2fc1f640208381..7e6bc6fff76b101d1b5d59eec7c91998e872280f 100644 (file)
@@ -58,6 +58,7 @@ config SPARC32
        select DMA_DIRECT_REMAP
        select GENERIC_ATOMIC64
        select HAVE_UID16
+       select HAVE_PAGE_SIZE_4KB
        select LOCK_MM_AND_FIND_VMA
        select OLD_SIGACTION
        select ZONE_DMA
@@ -75,6 +76,7 @@ config SPARC64
        select HAVE_ARCH_TRANSPARENT_HUGEPAGE
        select HAVE_DYNAMIC_FTRACE
        select HAVE_FTRACE_MCOUNT_RECORD
+       select HAVE_PAGE_SIZE_8KB
        select HAVE_SYSCALL_TRACEPOINTS
        select HAVE_CONTEXT_TRACKING_USER
        select HAVE_TIF_NOHZ
index 6be6f683f98f26f63befc79617d27236ab95cb22..9977c77374cd41ef55a7a3965a672fe6aa58bcc5 100644 (file)
@@ -11,7 +11,7 @@
 
 #include <linux/const.h>
 
-#define PAGE_SHIFT   12
+#define PAGE_SHIFT   CONFIG_PAGE_SHIFT
 #define PAGE_SIZE    (_AC(1, UL) << PAGE_SHIFT)
 #define PAGE_MASK    (~(PAGE_SIZE-1))
 
index 254dffd85fb147eb3e04b293812ded6df27e6f3a..e9bd24821c93db0f163112b8f4bdbd03b876cf2a 100644 (file)
@@ -4,8 +4,7 @@
 
 #include <linux/const.h>
 
-#define PAGE_SHIFT   13
-
+#define PAGE_SHIFT   CONFIG_PAGE_SHIFT
 #define PAGE_SIZE    (_AC(1,UL) << PAGE_SHIFT)
 #define PAGE_MASK    (~(PAGE_SIZE-1))
 
index b5e179360534631deb98b62891b927186b5086fe..93a5a8999b07ee620df45a94824fe587f58058e9 100644 (file)
@@ -20,6 +20,7 @@ config UML
        select HAVE_UID16
        select HAVE_DEBUG_KMEMLEAK
        select HAVE_DEBUG_BUGVERBOSE
+       select HAVE_PAGE_SIZE_4KB
        select NO_DMA if !UML_DMA_EMULATION
        select OF_EARLY_FLATTREE if OF
        select GENERIC_IRQ_SHOW
index 84866127d0747d03673bef416c699ad3fdad9599..9ef9a8aedfa661d9a8ca0e63102736c0c1e259b2 100644 (file)
@@ -10,7 +10,7 @@
 #include <linux/const.h>
 
 /* PAGE_SHIFT determines the page size */
-#define PAGE_SHIFT     12
+#define PAGE_SHIFT     CONFIG_PAGE_SHIFT
 #define PAGE_SIZE      (_AC(1, UL) << PAGE_SHIFT)
 #define PAGE_MASK      (~(PAGE_SIZE-1))
 
index 5edec175b9bfc92dfac8832fc3600b843407828b..ba57eb362ec8cc8808988e839c147ff3e5209296 100644 (file)
@@ -255,6 +255,7 @@ config X86
        select HAVE_NOINSTR_VALIDATION          if HAVE_OBJTOOL
        select HAVE_OBJTOOL                     if X86_64
        select HAVE_OPTPROBES
+       select HAVE_PAGE_SIZE_4KB
        select HAVE_PCSPKR_PLATFORM
        select HAVE_PERF_EVENTS
        select HAVE_PERF_EVENTS_NMI
index 86bd4311daf8a5046e5fa4cb71979535667a2e3d..9da9c8a2f1df5daf4c71dace1f66111637c843d6 100644 (file)
@@ -7,7 +7,7 @@
 #include <linux/mem_encrypt.h>
 
 /* PAGE_SHIFT determines the page size */
-#define PAGE_SHIFT             12
+#define PAGE_SHIFT             CONFIG_PAGE_SHIFT
 #define PAGE_SIZE              (_AC(1,UL) << PAGE_SHIFT)
 #define PAGE_MASK              (~(PAGE_SIZE-1))
 
index 6f248d87e496aad36a83bbc4b64ee9bbe5050728..87ec35b3363be1c03a4128209db4bd9b3d535fea 100644 (file)
@@ -44,6 +44,7 @@ config XTENSA
        select HAVE_GCC_PLUGINS if GCC_VERSION >= 120000
        select HAVE_HW_BREAKPOINT if PERF_EVENTS
        select HAVE_IRQ_TIME_ACCOUNTING
+       select HAVE_PAGE_SIZE_4KB
        select HAVE_PCI
        select HAVE_PERF_EVENTS
        select HAVE_STACKPROTECTOR
index a77d04972eb92f86f6e85db919db10b009d5b6e6..4db56ef052d2235eb35ea712026615d0cf66859b 100644 (file)
@@ -22,7 +22,7 @@
  * PAGE_SHIFT determines the page size
  */
 
-#define PAGE_SHIFT     12
+#define PAGE_SHIFT     CONFIG_PAGE_SHIFT
 #define PAGE_SIZE      (__XTENSA_UL_CONST(1) << PAGE_SHIFT)
 #define PAGE_MASK      (~(PAGE_SIZE-1))