.. | .. |
---|
21 | 21 | /* |
---|
22 | 22 | * These are used to make use of C type-checking.. |
---|
23 | 23 | */ |
---|
| 24 | +#if !defined(CONFIG_MMU) || CONFIG_PGTABLE_LEVELS == 3 |
---|
| 25 | +typedef struct { unsigned long pmd; } pmd_t; |
---|
| 26 | +#define pmd_val(x) ((&x)->pmd) |
---|
| 27 | +#define __pmd(x) ((pmd_t) { (x) } ) |
---|
| 28 | +#endif |
---|
| 29 | + |
---|
24 | 30 | typedef struct { unsigned long pte; } pte_t; |
---|
25 | | -typedef struct { unsigned long pmd[16]; } pmd_t; |
---|
26 | 31 | typedef struct { unsigned long pgd; } pgd_t; |
---|
27 | 32 | typedef struct { unsigned long pgprot; } pgprot_t; |
---|
| 33 | + |
---|
| 34 | +#if defined(CONFIG_SUN3) |
---|
| 35 | +/* |
---|
| 36 | + * Sun3 still uses the asm-generic/pgalloc.h code and thus needs this |
---|
| 37 | + * definition. It would be possible to unify Sun3 and ColdFire pgalloc and have |
---|
| 38 | + * all of m68k use the same type. |
---|
| 39 | + */ |
---|
28 | 40 | typedef struct page *pgtable_t; |
---|
| 41 | +#else |
---|
| 42 | +typedef pte_t *pgtable_t; |
---|
| 43 | +#endif |
---|
29 | 44 | |
---|
30 | 45 | #define pte_val(x) ((x).pte) |
---|
31 | | -#define pmd_val(x) ((&x)->pmd[0]) |
---|
32 | 46 | #define pgd_val(x) ((x).pgd) |
---|
33 | 47 | #define pgprot_val(x) ((x).pgprot) |
---|
34 | 48 | |
---|
35 | 49 | #define __pte(x) ((pte_t) { (x) } ) |
---|
36 | | -#define __pmd(x) ((pmd_t) { { (x) }, }) |
---|
37 | 50 | #define __pgd(x) ((pgd_t) { (x) } ) |
---|
38 | 51 | #define __pgprot(x) ((pgprot_t) { (x) } ) |
---|
39 | 52 | |
---|
.. | .. |
---|
51 | 64 | |
---|
52 | 65 | #define __phys_to_pfn(paddr) ((unsigned long)((paddr) >> PAGE_SHIFT)) |
---|
53 | 66 | #define __pfn_to_phys(pfn) PFN_PHYS(pfn) |
---|
54 | | - |
---|
55 | | -#define VM_DATA_DEFAULT_FLAGS (VM_READ | VM_WRITE | VM_EXEC | \ |
---|
56 | | - VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC) |
---|
57 | 67 | |
---|
58 | 68 | #include <asm-generic/getorder.h> |
---|
59 | 69 | |
---|