diff options
author | Steven J. Magnani <steve@digidescorp.com> | 2010-05-13 11:48:27 -0400 |
---|---|---|
committer | Michal Simek <monstr@monstr.eu> | 2010-08-04 04:22:34 -0400 |
commit | ba9c4f88d747836bf35c3eee36aa18d2e164f493 (patch) | |
tree | d244c9946b40af1ea21a1b71d3e49efa513bb4b7 /arch/microblaze/include/asm | |
parent | 0d9ec762af297f1ef38114f9498322d994063802 (diff) |
microblaze: Allow PAGE_SIZE configuration
Allow developer to configure memory page size at compile time.
Larger pages can improve performance on some workloads.
Based on PowerPC code.
Signed-off-by: Steven J. Magnani <steve@digidescorp.com>
Signed-off-by: Michal Simek <monstr@monstr.eu>
Diffstat (limited to 'arch/microblaze/include/asm')
-rw-r--r-- | arch/microblaze/include/asm/elf.h | 2 | ||||
-rw-r--r-- | arch/microblaze/include/asm/page.h | 12 |
2 files changed, 11 insertions, 3 deletions
diff --git a/arch/microblaze/include/asm/elf.h b/arch/microblaze/include/asm/elf.h index 7d4acf2b278e..732caf1be741 100644 --- a/arch/microblaze/include/asm/elf.h +++ b/arch/microblaze/include/asm/elf.h | |||
@@ -77,7 +77,7 @@ typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG]; | |||
77 | #define ELF_DATA ELFDATA2MSB | 77 | #define ELF_DATA ELFDATA2MSB |
78 | #endif | 78 | #endif |
79 | 79 | ||
80 | #define ELF_EXEC_PAGESIZE 4096 | 80 | #define ELF_EXEC_PAGESIZE PAGE_SIZE |
81 | 81 | ||
82 | 82 | ||
83 | #define ELF_CORE_COPY_REGS(_dest, _regs) \ | 83 | #define ELF_CORE_COPY_REGS(_dest, _regs) \ |
diff --git a/arch/microblaze/include/asm/page.h b/arch/microblaze/include/asm/page.h index 464ff32bee3d..c12c6dfafd9f 100644 --- a/arch/microblaze/include/asm/page.h +++ b/arch/microblaze/include/asm/page.h | |||
@@ -23,8 +23,16 @@ | |||
23 | #ifdef __KERNEL__ | 23 | #ifdef __KERNEL__ |
24 | 24 | ||
25 | /* PAGE_SHIFT determines the page size */ | 25 | /* PAGE_SHIFT determines the page size */ |
26 | #define PAGE_SHIFT (12) | 26 | #if defined(CONFIG_MICROBLAZE_32K_PAGES) |
27 | #define PAGE_SIZE (_AC(1, UL) << PAGE_SHIFT) | 27 | #define PAGE_SHIFT 15 |
28 | #elif defined(CONFIG_MICROBLAZE_16K_PAGES) | ||
29 | #define PAGE_SHIFT 14 | ||
30 | #elif defined(CONFIG_MICROBLAZE_8K_PAGES) | ||
31 | #define PAGE_SHIFT 13 | ||
32 | #else | ||
33 | #define PAGE_SHIFT 12 | ||
34 | #endif | ||
35 | #define PAGE_SIZE (ASM_CONST(1) << PAGE_SHIFT) | ||
28 | #define PAGE_MASK (~(PAGE_SIZE-1)) | 36 | #define PAGE_MASK (~(PAGE_SIZE-1)) |
29 | 37 | ||
30 | #define LOAD_OFFSET ASM_CONST((CONFIG_KERNEL_START-CONFIG_KERNEL_BASE_ADDR)) | 38 | #define LOAD_OFFSET ASM_CONST((CONFIG_KERNEL_START-CONFIG_KERNEL_BASE_ADDR)) |