blob: 17110aff26e708c242d9d2fd3855d5d48aea204f [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
Benjamin Herrenschmidt52142e72007-11-19 19:25:06 +11009#ifdef CONFIG_NOT_COHERENT_CACHE
10#define ARCH_KMALLOC_MINALIGN L1_CACHE_BYTES
11#endif
12
Michael Ellerman5cd16ee2005-11-11 14:25:24 +110013#ifndef __ASSEMBLY__
14/*
15 * The basic type of a PTE - 64 bits for those CPUs with > 32 bit
16 * physical addressing. For now this just the IBM PPC440.
17 */
18#ifdef CONFIG_PTE_64BIT
19typedef unsigned long long pte_basic_t;
20#define PTE_SHIFT (PAGE_SHIFT - 3) /* 512 ptes per page */
Michael Ellerman5cd16ee2005-11-11 14:25:24 +110021#else
22typedef unsigned long pte_basic_t;
23#define PTE_SHIFT (PAGE_SHIFT - 2) /* 1024 ptes per page */
Michael Ellerman5cd16ee2005-11-11 14:25:24 +110024#endif
25
26struct page;
27extern void clear_pages(void *page, int order);
28static inline void clear_page(void *page) { clear_pages(page, 0); }
29extern void copy_page(void *to, void *from);
30
David Howellsef55d532006-12-08 02:37:53 -080031#include <asm-generic/page.h>
Michael Ellerman5cd16ee2005-11-11 14:25:24 +110032
33#endif /* __ASSEMBLY__ */
34
Arnd Bergmann88ced032005-12-16 22:43:46 +010035#endif /* __KERNEL__ */
Michael Ellerman5cd16ee2005-11-11 14:25:24 +110036#endif /* _ASM_POWERPC_PAGE_32_H */