Linux-libre 4.14.138-gnu
[librecmc/linux-libre.git] / arch / sh / include / asm / pgtable-2level.h
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 */