diff options
author | Jeremy Fitzhardinge <jeremy@goop.org> | 2009-02-08 21:49:05 -0500 |
---|---|---|
committer | Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> | 2009-02-11 17:54:09 -0500 |
commit | f402a65f93c7127b2bd93a4b2fe182cd859fb4c1 (patch) | |
tree | 968dc99e1a9ec4c6d24bb7d5e3d772c2004daacc /arch/x86/include/asm/pgtable_32.h | |
parent | 8d19c99faf6165ef095138dd595d46b9bbb34055 (diff) |
x86: Split pgtable_32.h into pgtable_32.h and pgtable_32_types.h
Signed-off-by: Jeremy Fitzhardinge <jeremy@goop.org>
Diffstat (limited to 'arch/x86/include/asm/pgtable_32.h')
-rw-r--r-- | arch/x86/include/asm/pgtable_32.h | 42 |
1 files changed, 1 insertions, 41 deletions
diff --git a/arch/x86/include/asm/pgtable_32.h b/arch/x86/include/asm/pgtable_32.h index 72d20e2a40f2..97612fc7632f 100644 --- a/arch/x86/include/asm/pgtable_32.h +++ b/arch/x86/include/asm/pgtable_32.h | |||
@@ -1,6 +1,7 @@ | |||
1 | #ifndef _ASM_X86_PGTABLE_32_H | 1 | #ifndef _ASM_X86_PGTABLE_32_H |
2 | #define _ASM_X86_PGTABLE_32_H | 2 | #define _ASM_X86_PGTABLE_32_H |
3 | 3 | ||
4 | #include <asm/pgtable_32_types.h> | ||
4 | 5 | ||
5 | /* | 6 | /* |
6 | * The Linux memory management assumes a three-level page table setup. On | 7 | * The Linux memory management assumes a three-level page table setup. On |
@@ -33,47 +34,6 @@ void paging_init(void); | |||
33 | 34 | ||
34 | extern void set_pmd_pfn(unsigned long, unsigned long, pgprot_t); | 35 | extern void set_pmd_pfn(unsigned long, unsigned long, pgprot_t); |
35 | 36 | ||
36 | /* | ||
37 | * The Linux x86 paging architecture is 'compile-time dual-mode', it | ||
38 | * implements both the traditional 2-level x86 page tables and the | ||
39 | * newer 3-level PAE-mode page tables. | ||
40 | */ | ||
41 | #ifdef CONFIG_X86_PAE | ||
42 | # include <asm/pgtable-3level_types.h> | ||
43 | # define PMD_SIZE (1UL << PMD_SHIFT) | ||
44 | # define PMD_MASK (~(PMD_SIZE - 1)) | ||
45 | #else | ||
46 | # include <asm/pgtable-2level_types.h> | ||
47 | #endif | ||
48 | |||
49 | #define PGDIR_SIZE (1UL << PGDIR_SHIFT) | ||
50 | #define PGDIR_MASK (~(PGDIR_SIZE - 1)) | ||
51 | |||
52 | /* Just any arbitrary offset to the start of the vmalloc VM area: the | ||
53 | * current 8MB value just means that there will be a 8MB "hole" after the | ||
54 | * physical memory until the kernel virtual memory starts. That means that | ||
55 | * any out-of-bounds memory accesses will hopefully be caught. | ||
56 | * The vmalloc() routines leaves a hole of 4kB between each vmalloced | ||
57 | * area for the same reason. ;) | ||
58 | */ | ||
59 | #define VMALLOC_OFFSET (8 * 1024 * 1024) | ||
60 | #define VMALLOC_START ((unsigned long)high_memory + VMALLOC_OFFSET) | ||
61 | #ifdef CONFIG_X86_PAE | ||
62 | #define LAST_PKMAP 512 | ||
63 | #else | ||
64 | #define LAST_PKMAP 1024 | ||
65 | #endif | ||
66 | |||
67 | #define PKMAP_BASE ((FIXADDR_BOOT_START - PAGE_SIZE * (LAST_PKMAP + 1)) \ | ||
68 | & PMD_MASK) | ||
69 | |||
70 | #ifdef CONFIG_HIGHMEM | ||
71 | # define VMALLOC_END (PKMAP_BASE - 2 * PAGE_SIZE) | ||
72 | #else | ||
73 | # define VMALLOC_END (FIXADDR_START - 2 * PAGE_SIZE) | ||
74 | #endif | ||
75 | |||
76 | #define MAXMEM (VMALLOC_END - PAGE_OFFSET - __VMALLOC_RESERVE) | ||
77 | 37 | ||
78 | /* | 38 | /* |
79 | * Define this if things work differently on an i386 and an i486: | 39 | * Define this if things work differently on an i386 and an i486: |