blob: a99caa49d26563ff6c69c37dc45a128356b0a04c [file] [log] [blame]
Andrew Scullb4b6d4a2019-01-02 15:54:55 +00001/* 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 */