1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #ifndef _M68K_PAGE_H 3 #define _M68K_PAGE_H 4 5 #include <linux/const.h> 6 #include <asm/setup.h> 7 #include <asm/page_offset.h> 8 9 #include <vdso/page.h> 10 11 #define PAGE_OFFSET (PAGE_OFFSET_RAW) 12 13 #ifndef __ASSEMBLY__ 14 15 /* 16 * These are used to make use of C type-checking.. 17 */ 18 #if !defined(CONFIG_MMU) || CONFIG_PGTABLE_LEVELS == 3 19 typedef struct { unsigned long pmd; } pmd_t; 20 #define pmd_val(x) ((&x)->pmd) 21 #define __pmd(x) ((pmd_t) { (x) } ) 22 #endif 23 24 typedef struct { unsigned long pte; } pte_t; 25 typedef struct { unsigned long pgd; } pgd_t; 26 typedef struct { unsigned long pgprot; } pgprot_t; 27 28 #if defined(CONFIG_SUN3) 29 /* 30 * Sun3 still uses the asm-generic/pgalloc.h code and thus needs this 31 * definition. It would be possible to unify Sun3 and ColdFire pgalloc and have 32 * all of m68k use the same type. 33 */ 34 typedef struct page *pgtable_t; 35 #else 36 typedef pte_t *pgtable_t; 37 #endif 38 39 #define pte_val(x) ((x).pte) 40 #define pgd_val(x) ((x).pgd) 41 #define pgprot_val(x) ((x).pgprot) 42 43 #define __pte(x) ((pte_t) { (x) } ) 44 #define __pgd(x) ((pgd_t) { (x) } ) 45 #define __pgprot(x) ((pgprot_t) { (x) } ) 46 47 extern unsigned long _rambase; 48 extern unsigned long _ramstart; 49 extern unsigned long _ramend; 50 51 #endif /* !__ASSEMBLY__ */ 52 53 #ifdef CONFIG_MMU 54 #include <asm/page_mm.h> 55 #else 56 #include <asm/page_no.h> 57 #endif 58 59 #include <asm-generic/getorder.h> 60 #include <asm-generic/memory_model.h> 61 62 #endif /* _M68K_PAGE_H */ 63