Commit 66dfe181 authored by Paul Mundt's avatar Paul Mundt

sh: Add support for 16kB PAGE_SIZE.

16kB is a useful size on nommu, while 64kB still tends to be too big to
be useful. Newer MMUs are likely to support this as well, so plug it
in in anticipation of those, too.
Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
parent 74fcc779
...@@ -155,6 +155,12 @@ config PAGE_SIZE_8KB ...@@ -155,6 +155,12 @@ config PAGE_SIZE_8KB
help help
This enables 8kB pages as supported by SH-X2 and later MMUs. This enables 8kB pages as supported by SH-X2 and later MMUs.
config PAGE_SIZE_16KB
bool "16kB"
depends on !MMU
help
This enables 16kB pages on MMU-less SH systems.
config PAGE_SIZE_64KB config PAGE_SIZE_64KB
bool "64kB" bool "64kB"
depends on !MMU || CPU_SH4 || CPU_SH5 depends on !MMU || CPU_SH4 || CPU_SH5
......
...@@ -12,6 +12,8 @@ ...@@ -12,6 +12,8 @@
# define PAGE_SHIFT 12 # define PAGE_SHIFT 12
#elif defined(CONFIG_PAGE_SIZE_8KB) #elif defined(CONFIG_PAGE_SIZE_8KB)
# define PAGE_SHIFT 13 # define PAGE_SHIFT 13
#elif defined(CONFIG_PAGE_SIZE_16KB)
# define PAGE_SHIFT 14
#elif defined(CONFIG_PAGE_SIZE_64KB) #elif defined(CONFIG_PAGE_SIZE_64KB)
# define PAGE_SHIFT 16 # define PAGE_SHIFT 16
#else #else
......
...@@ -102,7 +102,9 @@ ...@@ -102,7 +102,9 @@
#define _PAGE_FLAGS_HARDWARE_MASK (PHYS_ADDR_MASK & ~(_PAGE_CLEAR_FLAGS)) #define _PAGE_FLAGS_HARDWARE_MASK (PHYS_ADDR_MASK & ~(_PAGE_CLEAR_FLAGS))
/* Hardware flags, page size encoding */ /* Hardware flags, page size encoding */
#if defined(CONFIG_X2TLB) #if !defined(CONFIG_MMU)
# define _PAGE_FLAGS_HARD 0ULL
#elif defined(CONFIG_X2TLB)
# if defined(CONFIG_PAGE_SIZE_4KB) # if defined(CONFIG_PAGE_SIZE_4KB)
# define _PAGE_FLAGS_HARD _PAGE_EXT(_PAGE_EXT_ESZ0) # define _PAGE_FLAGS_HARD _PAGE_EXT(_PAGE_EXT_ESZ0)
# elif defined(CONFIG_PAGE_SIZE_8KB) # elif defined(CONFIG_PAGE_SIZE_8KB)
......
...@@ -38,6 +38,8 @@ struct thread_info { ...@@ -38,6 +38,8 @@ struct thread_info {
#define THREAD_SIZE_ORDER (1) #define THREAD_SIZE_ORDER (1)
#elif defined(CONFIG_PAGE_SIZE_8KB) #elif defined(CONFIG_PAGE_SIZE_8KB)
#define THREAD_SIZE_ORDER (1) #define THREAD_SIZE_ORDER (1)
#elif defined(CONFIG_PAGE_SIZE_16KB)
#define THREAD_SIZE_ORDER (0)
#elif defined(CONFIG_PAGE_SIZE_64KB) #elif defined(CONFIG_PAGE_SIZE_64KB)
#define THREAD_SIZE_ORDER (0) #define THREAD_SIZE_ORDER (0)
#else #else
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment