1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _H8300_PGTABLE_H
3 #define _H8300_PGTABLE_H
4 #define __ARCH_USE_5LEVEL_HACK
5 #include <asm-generic/pgtable-nopud.h>
6 #include <asm-generic/pgtable.h>
7 #define pgtable_cache_init() do { } while (0)
8 extern void paging_init(void);
9 #define PAGE_NONE __pgprot(0) /* these mean nothing to NO_MM */
10 #define PAGE_SHARED __pgprot(0) /* these mean nothing to NO_MM */
11 #define PAGE_COPY __pgprot(0) /* these mean nothing to NO_MM */
12 #define PAGE_READONLY __pgprot(0) /* these mean nothing to NO_MM */
13 #define PAGE_KERNEL __pgprot(0) /* these mean nothing to NO_MM */
14 #define __swp_type(x) (0)
15 #define __swp_offset(x) (0)
16 #define __swp_entry(typ, off) ((swp_entry_t) { ((typ) | ((off) << 7)) })
17 #define __pte_to_swp_entry(pte) ((swp_entry_t) { pte_val(pte) })
18 #define __swp_entry_to_pte(x) ((pte_t) { (x).val })
19 #define kern_addr_valid(addr) (1)
20 #define pgprot_writecombine(prot) (prot)
21 #define pgprot_noncached pgprot_writecombine
23 static inline int pte_file(pte_t pte) { return 0; }
24 #define swapper_pg_dir ((pgd_t *) 0)
26 * ZERO_PAGE is a global shared page that is always zero: used
27 * for zero-mapped memory areas etc..
29 #define ZERO_PAGE(vaddr) (virt_to_page(0))
32 * These would be in other places but having them here reduces the diffs.
34 extern unsigned int kobjsize(const void *objp);
35 extern int is_in_rom(unsigned long);
38 * No page table caches to initialise
40 #define pgtable_cache_init() do { } while (0)
43 * All 32bit addresses are effectively valid for vmalloc...
44 * Sort of meaningless for non-VM targets.
46 #define VMALLOC_START 0
47 #define VMALLOC_END 0xffffffff
49 #define arch_enter_lazy_cpu_mode() do {} while (0)
51 #endif /* _H8300_PGTABLE_H */