blob: 07f6d3cf5e5aac4338dc44ce3be37c1660ba2680 [file] [log] [blame]
Michael Ellerman5cd16ee2005-11-11 14:25:24 +11001#ifndef _ASM_POWERPC_PAGE_32_H
2#define _ASM_POWERPC_PAGE_32_H
Arnd Bergmann88ced032005-12-16 22:43:46 +01003#ifdef __KERNEL__
Michael Ellerman5cd16ee2005-11-11 14:25:24 +11004
5#define VM_DATA_DEFAULT_FLAGS VM_DATA_DEFAULT_FLAGS32
6
Paul Mackerras493f25e2005-11-14 17:32:50 +11007#define PPC_MEMSTART 0
8
Michael Ellerman5cd16ee2005-11-11 14:25:24 +11009#ifndef __ASSEMBLY__
10/*
11 * The basic type of a PTE - 64 bits for those CPUs with > 32 bit
12 * physical addressing. For now this just the IBM PPC440.
13 */
14#ifdef CONFIG_PTE_64BIT
15typedef unsigned long long pte_basic_t;
16#define PTE_SHIFT (PAGE_SHIFT - 3) /* 512 ptes per page */
17#define PTE_FMT "%16Lx"
18#else
19typedef unsigned long pte_basic_t;
20#define PTE_SHIFT (PAGE_SHIFT - 2) /* 1024 ptes per page */
21#define PTE_FMT "%.8lx"
22#endif
23
24struct page;
25extern void clear_pages(void *page, int order);
26static inline void clear_page(void *page) { clear_pages(page, 0); }
27extern void copy_page(void *to, void *from);
28
David Howellsef55d532006-12-08 02:37:53 -080029#include <asm-generic/page.h>
Michael Ellerman5cd16ee2005-11-11 14:25:24 +110030
31#endif /* __ASSEMBLY__ */
32
Arnd Bergmann88ced032005-12-16 22:43:46 +010033#endif /* __KERNEL__ */
Michael Ellerman5cd16ee2005-11-11 14:25:24 +110034#endif /* _ASM_POWERPC_PAGE_32_H */