-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
x86: Split pgtable_32.h into pgtable_32.h and pgtable_32_types.h
Signed-off-by: Jeremy Fitzhardinge <jeremy@goop.org>
- Loading branch information
Jeremy Fitzhardinge
authored and
Jeremy Fitzhardinge
committed
Feb 11, 2009
1 parent
8d19c99
commit f402a65
Showing
2 changed files
with
47 additions
and
41 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
#ifndef _ASM_X86_PGTABLE_32_DEFS_H | ||
#define _ASM_X86_PGTABLE_32_DEFS_H | ||
|
||
/* | ||
* The Linux x86 paging architecture is 'compile-time dual-mode', it | ||
* implements both the traditional 2-level x86 page tables and the | ||
* newer 3-level PAE-mode page tables. | ||
*/ | ||
#ifdef CONFIG_X86_PAE | ||
# include <asm/pgtable-3level_types.h> | ||
# define PMD_SIZE (1UL << PMD_SHIFT) | ||
# define PMD_MASK (~(PMD_SIZE - 1)) | ||
#else | ||
# include <asm/pgtable-2level_types.h> | ||
#endif | ||
|
||
#define PGDIR_SIZE (1UL << PGDIR_SHIFT) | ||
#define PGDIR_MASK (~(PGDIR_SIZE - 1)) | ||
|
||
/* Just any arbitrary offset to the start of the vmalloc VM area: the | ||
* current 8MB value just means that there will be a 8MB "hole" after the | ||
* physical memory until the kernel virtual memory starts. That means that | ||
* any out-of-bounds memory accesses will hopefully be caught. | ||
* The vmalloc() routines leaves a hole of 4kB between each vmalloced | ||
* area for the same reason. ;) | ||
*/ | ||
#define VMALLOC_OFFSET (8 * 1024 * 1024) | ||
#define VMALLOC_START ((unsigned long)high_memory + VMALLOC_OFFSET) | ||
#ifdef CONFIG_X86_PAE | ||
#define LAST_PKMAP 512 | ||
#else | ||
#define LAST_PKMAP 1024 | ||
#endif | ||
|
||
#define PKMAP_BASE ((FIXADDR_BOOT_START - PAGE_SIZE * (LAST_PKMAP + 1)) \ | ||
& PMD_MASK) | ||
|
||
#ifdef CONFIG_HIGHMEM | ||
# define VMALLOC_END (PKMAP_BASE - 2 * PAGE_SIZE) | ||
#else | ||
# define VMALLOC_END (FIXADDR_START - 2 * PAGE_SIZE) | ||
#endif | ||
|
||
#define MAXMEM (VMALLOC_END - PAGE_OFFSET - __VMALLOC_RESERVE) | ||
|
||
#endif /* _ASM_X86_PGTABLE_32_DEFS_H */ |