summaryrefslogtreecommitdiff
path: root/arch/sh/include/asm/pgtable-2level.h
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2010-01-13 19:18:39 +0900
committerPaul Mundt <lethal@linux-sh.org>2010-01-13 19:18:39 +0900
commite44d6c4010a4c84369013932eea4721d16cbc08d (patch)
tree8a5decf88a368edf92cfea1a6ae7cb166009dc43 /arch/sh/include/asm/pgtable-2level.h
parent782bb5a532f883540bf403afb19f735a4eefd95b (diff)
sh: Rename split-level pgtable headers.
These were originally named _nopmd and _pmd to follow their asm-generic counterparts, but we rename them to -2level and -3level for general consistency. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/include/asm/pgtable-2level.h')
-rw-r--r--arch/sh/include/asm/pgtable-2level.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/arch/sh/include/asm/pgtable-2level.h b/arch/sh/include/asm/pgtable-2level.h
new file mode 100644
index 000000000000..19bd89db17e7
--- /dev/null
+++ b/arch/sh/include/asm/pgtable-2level.h
@@ -0,0 +1,23 @@
+#ifndef __ASM_SH_PGTABLE_2LEVEL_H
+#define __ASM_SH_PGTABLE_2LEVEL_H
+
+#include <asm-generic/pgtable-nopmd.h>
+
+/*
+ * traditional two-level paging structure
+ */
+#define PAGETABLE_LEVELS 2
+
+/* PTE bits */
+#define PTE_MAGNITUDE 2 /* 32-bit PTEs */
+
+#define PTE_SHIFT PAGE_SHIFT
+#define PTE_BITS (PTE_SHIFT - PTE_MAGNITUDE)
+
+/* PGD bits */
+#define PGDIR_SHIFT (PTE_SHIFT + PTE_BITS)
+
+#define PTRS_PER_PGD (PAGE_SIZE / (1 << PTE_MAGNITUDE))
+#define USER_PTRS_PER_PGD (TASK_SIZE/PGDIR_SIZE)
+
+#endif /* __ASM_SH_PGTABLE_2LEVEL_H */