| H. Peter Anvin | 1965aae | 2008-10-22 22:26:29 -0700 | [diff] [blame] | 1 | #ifndef _ASM_X86_PGTABLE_2LEVEL_DEFS_H | 
|  | 2 | #define _ASM_X86_PGTABLE_2LEVEL_DEFS_H | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 3 |  | 
| Jeremy Fitzhardinge | 54321d9 | 2009-02-11 10:20:05 -0800 | [diff] [blame] | 4 | #ifndef __ASSEMBLY__ | 
|  | 5 | #include <linux/types.h> | 
|  | 6 |  | 
|  | 7 | typedef unsigned long	pteval_t; | 
|  | 8 | typedef unsigned long	pmdval_t; | 
|  | 9 | typedef unsigned long	pudval_t; | 
|  | 10 | typedef unsigned long	pgdval_t; | 
|  | 11 | typedef unsigned long	pgprotval_t; | 
|  | 12 |  | 
|  | 13 | typedef union { | 
|  | 14 | pteval_t pte; | 
|  | 15 | pteval_t pte_low; | 
|  | 16 | } pte_t; | 
|  | 17 | #endif	/* !__ASSEMBLY__ */ | 
|  | 18 |  | 
| Jeremy Fitzhardinge | 5311ab6 | 2007-05-02 19:27:13 +0200 | [diff] [blame] | 19 | #define SHARED_KERNEL_PMD	0 | 
| Jeremy Fitzhardinge | 9b3651c | 2009-02-13 11:01:54 -0800 | [diff] [blame] | 20 | #define PAGETABLE_LEVELS	2 | 
| Jeremy Fitzhardinge | 5311ab6 | 2007-05-02 19:27:13 +0200 | [diff] [blame] | 21 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 22 | /* | 
|  | 23 | * traditional i386 two-level paging structure: | 
|  | 24 | */ | 
|  | 25 |  | 
|  | 26 | #define PGDIR_SHIFT	22 | 
|  | 27 | #define PTRS_PER_PGD	1024 | 
|  | 28 |  | 
| Jeremy Fitzhardinge | 9b3651c | 2009-02-13 11:01:54 -0800 | [diff] [blame] | 29 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 30 | /* | 
|  | 31 | * the i386 is two-level, so we don't really have any | 
|  | 32 | * PMD directory physically. | 
|  | 33 | */ | 
|  | 34 |  | 
|  | 35 | #define PTRS_PER_PTE	1024 | 
|  | 36 |  | 
| H. Peter Anvin | 1965aae | 2008-10-22 22:26:29 -0700 | [diff] [blame] | 37 | #endif /* _ASM_X86_PGTABLE_2LEVEL_DEFS_H */ |