blob: 4d00152fab58d337e7f65ba8c8caa9e5a9014a95 [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>
Andrew Scullb4b6d4a2019-01-02 15:54:55 +00007extern void paging_init(void);
8#define PAGE_NONE __pgprot(0) /* these mean nothing to NO_MM */
9#define PAGE_SHARED __pgprot(0) /* these mean nothing to NO_MM */
10#define PAGE_COPY __pgprot(0) /* these mean nothing to NO_MM */
11#define PAGE_READONLY __pgprot(0) /* these mean nothing to NO_MM */
12#define PAGE_KERNEL __pgprot(0) /* these mean nothing to NO_MM */
13#define __swp_type(x) (0)
14#define __swp_offset(x) (0)
15#define __swp_entry(typ, off) ((swp_entry_t) { ((typ) | ((off) << 7)) })
16#define __pte_to_swp_entry(pte) ((swp_entry_t) { pte_val(pte) })
17#define __swp_entry_to_pte(x) ((pte_t) { (x).val })
18#define kern_addr_valid(addr) (1)
19#define pgprot_writecombine(prot) (prot)
20#define pgprot_noncached pgprot_writecombine
21
22static inline int pte_file(pte_t pte) { return 0; }
23#define swapper_pg_dir ((pgd_t *) 0)
24/*
25 * ZERO_PAGE is a global shared page that is always zero: used
26 * for zero-mapped memory areas etc..
27 */
28#define ZERO_PAGE(vaddr) (virt_to_page(0))
29
30/*
31 * These would be in other places but having them here reduces the diffs.
32 */
33extern unsigned int kobjsize(const void *objp);
34extern int is_in_rom(unsigned long);
35
36/*
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000037 * All 32bit addresses are effectively valid for vmalloc...
38 * Sort of meaningless for non-VM targets.
39 */
40#define VMALLOC_START 0
41#define VMALLOC_END 0xffffffff
42
43#define arch_enter_lazy_cpu_mode() do {} while (0)
44
45#endif /* _H8300_PGTABLE_H */