summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorGeorge G. Davis <davis_g@com.rmk.(none)>2005-03-04 18:19:21 +0000
committerRussell King <rmk@flint.arm.linux.org.uk>2005-03-04 18:19:21 +0000
commit49ee1b77fa886dae22f7b901517a8049dc89a26a (patch)
tree70b60a47a9c46ba8aa627b86b771127b5ec9c0bc /include
parent5f2849e44bf9b56cd3085d104f4f437e9ec263d3 (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.h8
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)