Skip to content

Commit

Permalink
sh: Add support for 16kB PAGE_SIZE.
Browse files Browse the repository at this point in the history
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: Paul Mundt <lethal@linux-sh.org>
  • Loading branch information
Paul Mundt committed Jul 28, 2008
1 parent 74fcc77 commit 66dfe18
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 1 deletion.
6 changes: 6 additions & 0 deletions arch/sh/mm/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -155,6 +155,12 @@ config PAGE_SIZE_8KB
help
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
bool "64kB"
depends on !MMU || CPU_SH4 || CPU_SH5
Expand Down
2 changes: 2 additions & 0 deletions include/asm-sh/page.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
# define PAGE_SHIFT 12
#elif defined(CONFIG_PAGE_SIZE_8KB)
# define PAGE_SHIFT 13
#elif defined(CONFIG_PAGE_SIZE_16KB)
# define PAGE_SHIFT 14
#elif defined(CONFIG_PAGE_SIZE_64KB)
# define PAGE_SHIFT 16
#else
Expand Down
4 changes: 3 additions & 1 deletion include/asm-sh/pgtable_32.h
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,9 @@
#define _PAGE_FLAGS_HARDWARE_MASK (PHYS_ADDR_MASK & ~(_PAGE_CLEAR_FLAGS))

/* 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)
# define _PAGE_FLAGS_HARD _PAGE_EXT(_PAGE_EXT_ESZ0)
# elif defined(CONFIG_PAGE_SIZE_8KB)
Expand Down
2 changes: 2 additions & 0 deletions include/asm-sh/thread_info.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ struct thread_info {
#define THREAD_SIZE_ORDER (1)
#elif defined(CONFIG_PAGE_SIZE_8KB)
#define THREAD_SIZE_ORDER (1)
#elif defined(CONFIG_PAGE_SIZE_16KB)
#define THREAD_SIZE_ORDER (0)
#elif defined(CONFIG_PAGE_SIZE_64KB)
#define THREAD_SIZE_ORDER (0)
#else
Expand Down

0 comments on commit 66dfe18

Please sign in to comment.