diff options
| author | George G. Davis <davis_g@com.rmk.(none)> | 2005-03-04 18:19:21 +0000 |
|---|---|---|
| committer | Russell King <rmk@flint.arm.linux.org.uk> | 2005-03-04 18:19:21 +0000 |
| commit | 49ee1b77fa886dae22f7b901517a8049dc89a26a (patch) | |
| tree | 70b60a47a9c46ba8aa627b86b771127b5ec9c0bc /include | |
| parent | 5f2849e44bf9b56cd3085d104f4f437e9ec263d3 (diff) | |
[ARM PATCH] 2459/1: ARMv6 supersections for static kernel direct mapped memory regions [updated]
Patch from George G. Davis
Use ARMv6 supersections for 16MiB static kernel direct mapped memory
regions when possible.
Based on comments received for the first version of this patch, this
version has added a comment to clarify that ARMv6 supersections are
only valid for the domain == 0 case and moved the supersection address
mask and size macros before the hardware page table definitions.
Signed-off-by: George G. Davis
Signed-off-by: Russell King
Diffstat (limited to 'include')
| -rw-r--r-- | include/asm-arm/pgtable.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/include/asm-arm/pgtable.h b/include/asm-arm/pgtable.h index 10d747ba0ce0..e2a4177c31d3 100644 --- a/include/asm-arm/pgtable.h +++ b/include/asm-arm/pgtable.h @@ -106,6 +106,13 @@ extern void __pgd_error(const char *file, int line, unsigned long val); #define USER_PTRS_PER_PGD ((TASK_SIZE/PGDIR_SIZE) - FIRST_USER_PGD_NR) /* + * ARMv6 supersection address mask and size definitions. + */ +#define SUPERSECTION_SHIFT 24 +#define SUPERSECTION_SIZE (1UL << SUPERSECTION_SHIFT) +#define SUPERSECTION_MASK (~(SUPERSECTION_SIZE-1)) + +/* * Hardware page table definitions. * * + Level 1 descriptor (PMD) @@ -129,6 +136,7 @@ extern void __pgd_error(const char *file, int line, unsigned long val); #define PMD_SECT_APX (1 << 15) /* v6 */ #define PMD_SECT_S (1 << 16) /* v6 */ #define PMD_SECT_nG (1 << 17) /* v6 */ +#define PMD_SECT_SUPER (1 << 18) /* v6 */ #define PMD_SECT_UNCACHED (0) #define PMD_SECT_BUFFERED (PMD_SECT_BUFFERABLE) |
