blob: bf1eb51c3ee5ab9cc8052cf38901d40a47338535 [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001/* SPDX-License-Identifier: GPL-2.0 */
Paul Mundte44d6c42010-01-13 19:18:39 +09002#ifndef __ASM_SH_PGTABLE_2LEVEL_H
3#define __ASM_SH_PGTABLE_2LEVEL_H
Matt Flemingb73c8062009-11-25 22:00:08 +00004
Kirill A. Shutemov9849a562017-03-09 17:24:05 +03005#define __ARCH_USE_5LEVEL_HACK
Matt Flemingb73c8062009-11-25 22:00:08 +00006#include <asm-generic/pgtable-nopmd.h>
7
8/*
9 * traditional two-level paging structure
10 */
Paul Mundt782bb5a2010-01-13 19:11:14 +090011#define PAGETABLE_LEVELS 2
Matt Flemingb73c8062009-11-25 22:00:08 +000012
13/* PTE bits */
Paul Mundt782bb5a2010-01-13 19:11:14 +090014#define PTE_MAGNITUDE 2 /* 32-bit PTEs */
Matt Flemingb73c8062009-11-25 22:00:08 +000015
Paul Mundt782bb5a2010-01-13 19:11:14 +090016#define PTE_SHIFT PAGE_SHIFT
17#define PTE_BITS (PTE_SHIFT - PTE_MAGNITUDE)
Matt Flemingb73c8062009-11-25 22:00:08 +000018
19/* PGD bits */
Paul Mundt782bb5a2010-01-13 19:11:14 +090020#define PGDIR_SHIFT (PTE_SHIFT + PTE_BITS)
Matt Flemingb73c8062009-11-25 22:00:08 +000021
Paul Mundt782bb5a2010-01-13 19:11:14 +090022#define PTRS_PER_PGD (PAGE_SIZE / (1 << PTE_MAGNITUDE))
Matt Flemingb73c8062009-11-25 22:00:08 +000023#define USER_PTRS_PER_PGD (TASK_SIZE/PGDIR_SIZE)
24
Paul Mundte44d6c42010-01-13 19:18:39 +090025#endif /* __ASM_SH_PGTABLE_2LEVEL_H */