Commit d3e5bab9 authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

arch: simplify architecture specific page size configuration



arc, arm64, parisc and powerpc all have their own Kconfig symbols
in place of the common CONFIG_PAGE_SIZE_4KB symbols. Change these
so the common symbols are the ones that are actually used, while
leaving the arhcitecture specific ones as the user visible
place for configuring it, to avoid breaking user configs.

Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu> (powerpc32)
Acked-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
Acked-by: Helge Deller <deller@gmx.de> # parisc
Reviewed-by: default avatarThomas Gleixner <tglx@linutronix.de>
Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parent ba89f9c8
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -284,14 +284,17 @@ choice

config ARC_PAGE_SIZE_8K
	bool "8KB"
	select HAVE_PAGE_SIZE_8KB
	help
	  Choose between 8k vs 16k

config ARC_PAGE_SIZE_16K
	select HAVE_PAGE_SIZE_16KB
	bool "16KB"

config ARC_PAGE_SIZE_4K
	bool "4KB"
	select HAVE_PAGE_SIZE_4KB
	depends on ARC_MMU_V3 || ARC_MMU_V4

endchoice
+2 −4
Original line number Diff line number Diff line
@@ -13,10 +13,8 @@
#include <linux/const.h>

/* PAGE_SHIFT determines the page size */
#if defined(CONFIG_ARC_PAGE_SIZE_16K)
#define PAGE_SHIFT 14
#elif defined(CONFIG_ARC_PAGE_SIZE_4K)
#define PAGE_SHIFT 12
#ifdef __KERNEL__
#define PAGE_SHIFT CONFIG_PAGE_SHIFT
#else
/*
 * Default 8k
+13 −16
Original line number Diff line number Diff line
@@ -277,27 +277,21 @@ config 64BIT
config MMU
	def_bool y

config ARM64_PAGE_SHIFT
	int
	default 16 if ARM64_64K_PAGES
	default 14 if ARM64_16K_PAGES
	default 12

config ARM64_CONT_PTE_SHIFT
	int
	default 5 if ARM64_64K_PAGES
	default 7 if ARM64_16K_PAGES
	default 5 if PAGE_SIZE_64KB
	default 7 if PAGE_SIZE_16KB
	default 4

config ARM64_CONT_PMD_SHIFT
	int
	default 5 if ARM64_64K_PAGES
	default 5 if ARM64_16K_PAGES
	default 5 if PAGE_SIZE_64KB
	default 5 if PAGE_SIZE_16KB
	default 4

config ARCH_MMAP_RND_BITS_MIN
	default 14 if ARM64_64K_PAGES
	default 16 if ARM64_16K_PAGES
	default 14 if PAGE_SIZE_64KB
	default 16 if PAGE_SIZE_16KB
	default 18

# max bits determined by the following formula:
@@ -1259,11 +1253,13 @@ choice

config ARM64_4K_PAGES
	bool "4KB"
	select HAVE_PAGE_SIZE_4KB
	help
	  This feature enables 4KB pages support.

config ARM64_16K_PAGES
	bool "16KB"
	select HAVE_PAGE_SIZE_16KB
	help
	  The system will use 16KB pages support. AArch32 emulation
	  requires applications compiled with 16K (or a multiple of 16K)
@@ -1271,6 +1267,7 @@ config ARM64_16K_PAGES

config ARM64_64K_PAGES
	bool "64KB"
	select HAVE_PAGE_SIZE_64KB
	help
	  This feature enables 64KB pages support (4KB by default)
	  allowing only two levels of page tables and faster TLB
@@ -1291,19 +1288,19 @@ choice

config ARM64_VA_BITS_36
	bool "36-bit" if EXPERT
	depends on ARM64_16K_PAGES
	depends on PAGE_SIZE_16KB

config ARM64_VA_BITS_39
	bool "39-bit"
	depends on ARM64_4K_PAGES
	depends on PAGE_SIZE_4KB

config ARM64_VA_BITS_42
	bool "42-bit"
	depends on ARM64_64K_PAGES
	depends on PAGE_SIZE_64KB

config ARM64_VA_BITS_47
	bool "47-bit"
	depends on ARM64_16K_PAGES
	depends on PAGE_SIZE_16KB

config ARM64_VA_BITS_48
	bool "48-bit"
+1 −1
Original line number Diff line number Diff line
@@ -11,7 +11,7 @@
#include <linux/const.h>

/* PAGE_SHIFT determines the page size */
#define PAGE_SHIFT		CONFIG_ARM64_PAGE_SHIFT
#define PAGE_SHIFT		CONFIG_PAGE_SHIFT
#define PAGE_SIZE		(_AC(1, UL) << PAGE_SHIFT)
#define PAGE_MASK		(~(PAGE_SIZE-1))

+3 −0
Original line number Diff line number Diff line
@@ -273,6 +273,7 @@ choice

config PARISC_PAGE_SIZE_4KB
	bool "4KB"
	select HAVE_PAGE_SIZE_4KB
	help
	  This lets you select the page size of the kernel.  For best
	  performance, a page size of 16KB is recommended.  For best
@@ -288,10 +289,12 @@ config PARISC_PAGE_SIZE_4KB

config PARISC_PAGE_SIZE_16KB
	bool "16KB"
	select HAVE_PAGE_SIZE_16KB
	depends on PA8X00 && BROKEN && !KFENCE

config PARISC_PAGE_SIZE_64KB
	bool "64KB"
	select HAVE_PAGE_SIZE_64KB
	depends on PA8X00 && BROKEN && !KFENCE

endchoice
Loading