18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
28c2ecf20Sopenharmony_ci#ifndef _M68KNOMMU_PGTABLE_H
38c2ecf20Sopenharmony_ci#define _M68KNOMMU_PGTABLE_H
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_ci#include <asm-generic/pgtable-nopud.h>
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_ci/*
88c2ecf20Sopenharmony_ci * (C) Copyright 2000-2002, Greg Ungerer <gerg@snapgear.com>
98c2ecf20Sopenharmony_ci */
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_ci#include <linux/slab.h>
128c2ecf20Sopenharmony_ci#include <asm/processor.h>
138c2ecf20Sopenharmony_ci#include <asm/page.h>
148c2ecf20Sopenharmony_ci#include <asm/io.h>
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ci/*
178c2ecf20Sopenharmony_ci * Trivial page table functions.
188c2ecf20Sopenharmony_ci */
198c2ecf20Sopenharmony_ci#define pgd_present(pgd)	(1)
208c2ecf20Sopenharmony_ci#define pgd_none(pgd)		(0)
218c2ecf20Sopenharmony_ci#define pgd_bad(pgd)		(0)
228c2ecf20Sopenharmony_ci#define pgd_clear(pgdp)
238c2ecf20Sopenharmony_ci#define kern_addr_valid(addr)	(1)
248c2ecf20Sopenharmony_ci#define	pmd_offset(a, b)	((void *)0)
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ci#define PAGE_NONE	__pgprot(0)
278c2ecf20Sopenharmony_ci#define PAGE_SHARED	__pgprot(0)
288c2ecf20Sopenharmony_ci#define PAGE_COPY	__pgprot(0)
298c2ecf20Sopenharmony_ci#define PAGE_READONLY	__pgprot(0)
308c2ecf20Sopenharmony_ci#define PAGE_KERNEL	__pgprot(0)
318c2ecf20Sopenharmony_ci
328c2ecf20Sopenharmony_ciextern void paging_init(void);
338c2ecf20Sopenharmony_ci#define swapper_pg_dir ((pgd_t *) 0)
348c2ecf20Sopenharmony_ci
358c2ecf20Sopenharmony_ci#define __swp_type(x)		(0)
368c2ecf20Sopenharmony_ci#define __swp_offset(x)		(0)
378c2ecf20Sopenharmony_ci#define __swp_entry(typ,off)	((swp_entry_t) { ((typ) | ((off) << 7)) })
388c2ecf20Sopenharmony_ci#define __pte_to_swp_entry(pte)	((swp_entry_t) { pte_val(pte) })
398c2ecf20Sopenharmony_ci#define __swp_entry_to_pte(x)	((pte_t) { (x).val })
408c2ecf20Sopenharmony_ci
418c2ecf20Sopenharmony_ci/*
428c2ecf20Sopenharmony_ci * ZERO_PAGE is a global shared page that is always zero: used
438c2ecf20Sopenharmony_ci * for zero-mapped memory areas etc..
448c2ecf20Sopenharmony_ci */
458c2ecf20Sopenharmony_ciextern void *empty_zero_page;
468c2ecf20Sopenharmony_ci#define ZERO_PAGE(vaddr)	(virt_to_page(empty_zero_page))
478c2ecf20Sopenharmony_ci
488c2ecf20Sopenharmony_ci/*
498c2ecf20Sopenharmony_ci * All 32bit addresses are effectively valid for vmalloc...
508c2ecf20Sopenharmony_ci * Sort of meaningless for non-VM targets.
518c2ecf20Sopenharmony_ci */
528c2ecf20Sopenharmony_ci#define	VMALLOC_START	0
538c2ecf20Sopenharmony_ci#define	VMALLOC_END	0xffffffff
548c2ecf20Sopenharmony_ci#define	KMAP_START	0
558c2ecf20Sopenharmony_ci#define	KMAP_END	0xffffffff
568c2ecf20Sopenharmony_ci
578c2ecf20Sopenharmony_ci#endif /* _M68KNOMMU_PGTABLE_H */
58