1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef __ASM_SH_PGTABLE_2LEVEL_H
3 #define __ASM_SH_PGTABLE_2LEVEL_H
4 
5 #define __ARCH_USE_5LEVEL_HACK
6 #include <asm-generic/pgtable-nopmd.h>
7 
8 /*
9  * traditional two-level paging structure
10  */
11 #define PAGETABLE_LEVELS	2
12 
13 /* PTE bits */
14 #define PTE_MAGNITUDE		2	/* 32-bit PTEs */
15 
16 #define PTE_SHIFT		PAGE_SHIFT
17 #define PTE_BITS		(PTE_SHIFT - PTE_MAGNITUDE)
18 
19 /* PGD bits */
20 #define PGDIR_SHIFT		(PTE_SHIFT + PTE_BITS)
21 
22 #define PTRS_PER_PGD		(PAGE_SIZE / (1 << PTE_MAGNITUDE))
23 #define USER_PTRS_PER_PGD	(TASK_SIZE/PGDIR_SIZE)
24 
25 #endif /* __ASM_SH_PGTABLE_2LEVEL_H */
26