Skip to content

Commit

Permalink
microblaze: Support 4k/16k/64k pages
Browse files Browse the repository at this point in the history
Add support for page size which is supported by MMU.
Remove 8k and 32k page size because they are not supported
by MMU.

Signed-off-by: Michal Simek <monstr@monstr.eu>
  • Loading branch information
Michal Simek committed Oct 4, 2012
1 parent 9f78d3b commit 6e80cff
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 9 deletions.
7 changes: 2 additions & 5 deletions arch/microblaze/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -243,14 +243,11 @@ choice
config MICROBLAZE_4K_PAGES
bool "4k page size"

config MICROBLAZE_8K_PAGES
bool "8k page size"

config MICROBLAZE_16K_PAGES
bool "16k page size"

config MICROBLAZE_32K_PAGES
bool "32k page size"
config MICROBLAZE_64K_PAGES
bool "64k page size"

endchoice

Expand Down
6 changes: 2 additions & 4 deletions arch/microblaze/include/asm/page.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,10 @@
#ifdef __KERNEL__

/* PAGE_SHIFT determines the page size */
#if defined(CONFIG_MICROBLAZE_32K_PAGES)
#define PAGE_SHIFT 15
#if defined(CONFIG_MICROBLAZE_64K_PAGES)
#define PAGE_SHIFT 16
#elif defined(CONFIG_MICROBLAZE_16K_PAGES)
#define PAGE_SHIFT 14
#elif defined(CONFIG_MICROBLAZE_8K_PAGES)
#define PAGE_SHIFT 13
#else
#define PAGE_SHIFT 12
#endif
Expand Down
6 changes: 6 additions & 0 deletions arch/microblaze/kernel/hw_exception_handler.S
Original file line number Diff line number Diff line change
Expand Up @@ -862,7 +862,13 @@ ex_handler_done:
* bits 20 and 21 are zero.
*/
andi r3, r3, PAGE_MASK
#ifdef CONFIG_MICROBLAZE_64K_PAGES
ori r3, r3, TLB_VALID | TLB_PAGESZ(PAGESZ_64K)
#elif CONFIG_MICROBLAZE_16K_PAGES
ori r3, r3, TLB_VALID | TLB_PAGESZ(PAGESZ_16K)
#else
ori r3, r3, TLB_VALID | TLB_PAGESZ(PAGESZ_4K)
#endif
mts rtlbhi, r3 /* Load TLB HI */
nop

Expand Down

0 comments on commit 6e80cff

Please sign in to comment.