summaryrefslogtreecommitdiffstats
path: root/arch/sh/include/asm/pgtable-2level.h
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2010-03-01 09:28:53 +0100
committerIngo Molnar <mingo@elte.hu>2010-03-01 09:28:58 +0100
commite2f4699ac15fe36de1288505bc6e6e5a8603ab1b (patch)
tree8078d3ff21eaa0a0ed6e446ac94f3681e831cad1 /arch/sh/include/asm/pgtable-2level.h
parentrcu: Make task_subsys_state() RCU-lockdep checks handle boot-time use (diff)
parentMerge branch 'x86-uv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/... (diff)
downloadlinux-e2f4699ac15fe36de1288505bc6e6e5a8603ab1b.tar.xz
linux-e2f4699ac15fe36de1288505bc6e6e5a8603ab1b.zip
Merge branch 'linus' into core/rcu
Merge reason: Backmerge latest upstream to queue up dependent fix in the scheduler. Signed-off-by: Ingo Molnar <mingo@elte.hu>
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 */