• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6/arch/x86/include/asm/
1#ifndef _ASM_X86_PGTABLE_3LEVEL_DEFS_H
2#define _ASM_X86_PGTABLE_3LEVEL_DEFS_H
3
4#ifndef __ASSEMBLY__
5#include <linux/types.h>
6
7typedef u64	pteval_t;
8typedef u64	pmdval_t;
9typedef u64	pudval_t;
10typedef u64	pgdval_t;
11typedef u64	pgprotval_t;
12
13typedef union {
14	struct {
15		unsigned long pte_low, pte_high;
16	};
17	pteval_t pte;
18} pte_t;
19#endif	/* !__ASSEMBLY__ */
20
21#ifdef CONFIG_PARAVIRT
22#define SHARED_KERNEL_PMD	(pv_info.shared_kernel_pmd)
23#else
24#define SHARED_KERNEL_PMD	1
25#endif
26
27#define PAGETABLE_LEVELS	3
28
29/*
30 * PGDIR_SHIFT determines what a top-level page table entry can map
31 */
32#define PGDIR_SHIFT	30
33#define PTRS_PER_PGD	4
34
35/*
36 * PMD_SHIFT determines the size of the area a middle-level
37 * page table can map
38 */
39#define PMD_SHIFT	21
40#define PTRS_PER_PMD	512
41
42/*
43 * entries per page directory level
44 */
45#define PTRS_PER_PTE	512
46
47
48#endif /* _ASM_X86_PGTABLE_3LEVEL_DEFS_H */
49