1 #ifndef _M68K_PAGE_H 2 #define _M68K_PAGE_H 3 4 #include <linux/const.h> 5 #include <asm/setup.h> 6 #include <asm/page_offset.h> 7 8 /* PAGE_SHIFT determines the page size */ 9 #if defined(CONFIG_SUN3) || defined(CONFIG_COLDFIRE) 10 #define PAGE_SHIFT 13 11 #else 12 #define PAGE_SHIFT 12 13 #endif 14 #define PAGE_SIZE (_AC(1, UL) << PAGE_SHIFT) 15 #define PAGE_MASK (~(PAGE_SIZE-1)) 16 #define PAGE_OFFSET (PAGE_OFFSET_RAW) 17 18 #ifndef __ASSEMBLY__ 19 20 /* 21 * These are used to make use of C type-checking.. 22 */ 23 typedef struct { unsigned long pte; } pte_t; 24 typedef struct { unsigned long pmd[16]; } pmd_t; 25 typedef struct { unsigned long pgd; } pgd_t; 26 typedef struct { unsigned long pgprot; } pgprot_t; 27 typedef struct page *pgtable_t; 28 29 #define pte_val(x) ((x).pte) 30 #define pmd_val(x) ((&x)->pmd[0]) 31 #define pgd_val(x) ((x).pgd) 32 #define pgprot_val(x) ((x).pgprot) 33 34 #define __pte(x) ((pte_t) { (x) } ) 35 #define __pmd(x) ((pmd_t) { (x) } ) 36 #define __pgd(x) ((pgd_t) { (x) } ) 37 #define __pgprot(x) ((pgprot_t) { (x) } ) 38 39 extern unsigned long _rambase; 40 extern unsigned long _ramstart; 41 extern unsigned long _ramend; 42 43 #endif /* !__ASSEMBLY__ */ 44 45 #ifdef CONFIG_MMU 46 #include <asm/page_mm.h> 47 #else 48 #include <asm/page_no.h> 49 #endif 50 51 #define __phys_to_pfn(paddr) ((unsigned long)((paddr) >> PAGE_SHIFT)) 52 #define __pfn_to_phys(pfn) PFN_PHYS(pfn) 53 54 #define VM_DATA_DEFAULT_FLAGS (VM_READ | VM_WRITE | VM_EXEC | \ 55 VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC) 56 57 #include <asm-generic/getorder.h> 58 59 #endif /* _M68K_PAGE_H */ 60