aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/include/asm/mmu-book3e.h
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2009-07-27 21:59:34 -0400
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2009-08-19 20:25:06 -0400
commit57e2a99f74b0d3720c97a6aadb57ae6aad3c61ea (patch)
tree4268a98ad222dbcf790749aed52417eb0a3a2a35 /arch/powerpc/include/asm/mmu-book3e.h
parent0257c99cdfaca53a881339e1cbca638c61569b05 (diff)
powerpc: Add memory management headers for new 64-bit BookE
This adds the PTE and pgtable format definitions, along with changes to the kernel memory map and other definitions related to implementing support for 64-bit Book3E. This also shields some asm-offset bits that are currently only relevant on 32-bit We also move the definition of the "linux" page size constants to the common mmu.h file and add a few sizes that are relevant to embedded processors. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/include/asm/mmu-book3e.h')
-rw-r--r--arch/powerpc/include/asm/mmu-book3e.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/mmu-book3e.h b/arch/powerpc/include/asm/mmu-book3e.h
index 42a39b4aacec..6ddbe48d07fa 100644
--- a/arch/powerpc/include/asm/mmu-book3e.h
+++ b/arch/powerpc/include/asm/mmu-book3e.h
@@ -170,6 +170,33 @@ typedef struct {
170 unsigned int active; 170 unsigned int active;
171 unsigned long vdso_base; 171 unsigned long vdso_base;
172} mm_context_t; 172} mm_context_t;
173
174/* Page size definitions, common between 32 and 64-bit
175 *
176 * shift : is the "PAGE_SHIFT" value for that page size
177 * penc : is the pte encoding mask
178 *
179 */
180struct mmu_psize_def
181{
182 unsigned int shift; /* number of bits */
183 unsigned int enc; /* PTE encoding */
184};
185extern struct mmu_psize_def mmu_psize_defs[MMU_PAGE_COUNT];
186
187/* The page sizes use the same names as 64-bit hash but are
188 * constants
189 */
190#if defined(CONFIG_PPC_4K_PAGES)
191#define mmu_virtual_psize MMU_PAGE_4K
192#elif defined(CONFIG_PPC_64K_PAGES)
193#define mmu_virtual_psize MMU_PAGE_64K
194#else
195#error Unsupported page size
196#endif
197
198extern int mmu_linear_psize;
199
173#endif /* !__ASSEMBLY__ */ 200#endif /* !__ASSEMBLY__ */
174 201
175#endif /* _ASM_POWERPC_MMU_BOOK3E_H_ */ 202#endif /* _ASM_POWERPC_MMU_BOOK3E_H_ */