diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2009-07-23 19:15:58 -0400 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2009-08-19 20:25:10 -0400 |
commit | 32a74949b7337726e76d69f51c48715431126c6c (patch) | |
tree | 22383b2b4d568c7fc651e1def000049dde7156c3 /arch/powerpc/include/asm/pgtable-ppc64.h | |
parent | 25d21ad6e799cccd097b9df2a2fefe19a7e1dfcf (diff) |
powerpc/mm: Add support for SPARSEMEM_VMEMMAP on 64-bit Book3E
The base TLB support didn't include support for SPARSEMEM_VMEMMAP, though
we did carve out some virtual space for it, the necessary support code
wasn't there. This implements it by using 16M pages for now, though the
page size could easily be changed at runtime if necessary.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/include/asm/pgtable-ppc64.h')
-rw-r--r-- | arch/powerpc/include/asm/pgtable-ppc64.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/powerpc/include/asm/pgtable-ppc64.h b/arch/powerpc/include/asm/pgtable-ppc64.h index 7254c5a3187c..200ec2dfa034 100644 --- a/arch/powerpc/include/asm/pgtable-ppc64.h +++ b/arch/powerpc/include/asm/pgtable-ppc64.h | |||
@@ -46,6 +46,7 @@ | |||
46 | /* | 46 | /* |
47 | * The vmalloc space starts at the beginning of that region, and | 47 | * The vmalloc space starts at the beginning of that region, and |
48 | * occupies half of it on hash CPUs and a quarter of it on Book3E | 48 | * occupies half of it on hash CPUs and a quarter of it on Book3E |
49 | * (we keep a quarter for the virtual memmap) | ||
49 | */ | 50 | */ |
50 | #define VMALLOC_START KERN_VIRT_START | 51 | #define VMALLOC_START KERN_VIRT_START |
51 | #ifdef CONFIG_PPC_BOOK3E | 52 | #ifdef CONFIG_PPC_BOOK3E |
@@ -83,7 +84,7 @@ | |||
83 | 84 | ||
84 | #define VMALLOC_REGION_ID (REGION_ID(VMALLOC_START)) | 85 | #define VMALLOC_REGION_ID (REGION_ID(VMALLOC_START)) |
85 | #define KERNEL_REGION_ID (REGION_ID(PAGE_OFFSET)) | 86 | #define KERNEL_REGION_ID (REGION_ID(PAGE_OFFSET)) |
86 | #define VMEMMAP_REGION_ID (0xfUL) | 87 | #define VMEMMAP_REGION_ID (0xfUL) /* Server only */ |
87 | #define USER_REGION_ID (0UL) | 88 | #define USER_REGION_ID (0UL) |
88 | 89 | ||
89 | /* | 90 | /* |