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) 8extern 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 22 23static inline int pte_file(pte_t pte) { return 0; } 24#define swapper_pg_dir ((pgd_t *) 0) 25/* 26 * ZERO_PAGE is a global shared page that is always zero: used 27 * for zero-mapped memory areas etc.. 28 */ 29#define ZERO_PAGE(vaddr) (virt_to_page(0)) 30 31/* 32 * These would be in other places but having them here reduces the diffs. 33 */ 34extern unsigned int kobjsize(const void *objp); 35extern int is_in_rom(unsigned long); 36 37/* 38 * No page table caches to initialise 39 */ 40#define pgtable_cache_init() do { } while (0) 41 42/* 43 * All 32bit addresses are effectively valid for vmalloc... 44 * Sort of meaningless for non-VM targets. 45 */ 46#define VMALLOC_START 0 47#define VMALLOC_END 0xffffffff 48 49#define arch_enter_lazy_cpu_mode() do {} while (0) 50 51#endif /* _H8300_PGTABLE_H */ 52