diff options
Diffstat (limited to 'include/asm-powerpc/pgtable-ppc64.h')
-rw-r--r-- | include/asm-powerpc/pgtable-ppc64.h | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/include/asm-powerpc/pgtable-ppc64.h b/include/asm-powerpc/pgtable-ppc64.h index 704c4e669fe0..9b0f51ccad05 100644 --- a/include/asm-powerpc/pgtable-ppc64.h +++ b/include/asm-powerpc/pgtable-ppc64.h | |||
@@ -27,7 +27,7 @@ struct mm_struct; | |||
27 | */ | 27 | */ |
28 | #define PGTABLE_EADDR_SIZE (PTE_INDEX_SIZE + PMD_INDEX_SIZE + \ | 28 | #define PGTABLE_EADDR_SIZE (PTE_INDEX_SIZE + PMD_INDEX_SIZE + \ |
29 | PUD_INDEX_SIZE + PGD_INDEX_SIZE + PAGE_SHIFT) | 29 | PUD_INDEX_SIZE + PGD_INDEX_SIZE + PAGE_SHIFT) |
30 | #define PGTABLE_RANGE (1UL << PGTABLE_EADDR_SIZE) | 30 | #define PGTABLE_RANGE (ASM_CONST(1) << PGTABLE_EADDR_SIZE) |
31 | 31 | ||
32 | #if TASK_SIZE_USER64 > PGTABLE_RANGE | 32 | #if TASK_SIZE_USER64 > PGTABLE_RANGE |
33 | #error TASK_SIZE_USER64 exceeds pagetable range | 33 | #error TASK_SIZE_USER64 exceeds pagetable range |
@@ -37,19 +37,28 @@ struct mm_struct; | |||
37 | #error TASK_SIZE_USER64 exceeds user VSID range | 37 | #error TASK_SIZE_USER64 exceeds user VSID range |
38 | #endif | 38 | #endif |
39 | 39 | ||
40 | |||
40 | /* | 41 | /* |
41 | * Define the address range of the vmalloc VM area. | 42 | * Define the address range of the vmalloc VM area. |
42 | */ | 43 | */ |
43 | #define VMALLOC_START ASM_CONST(0xD000000000000000) | 44 | #define VMALLOC_START ASM_CONST(0xD000000000000000) |
44 | #define VMALLOC_SIZE ASM_CONST(0x80000000000) | 45 | #define VMALLOC_SIZE (PGTABLE_RANGE >> 1) |
45 | #define VMALLOC_END (VMALLOC_START + VMALLOC_SIZE) | 46 | #define VMALLOC_END (VMALLOC_START + VMALLOC_SIZE) |
46 | 47 | ||
47 | /* | 48 | /* |
48 | * Define the address range of the imalloc VM area. | 49 | * Define the address ranges for MMIO and IO space : |
50 | * | ||
51 | * ISA_IO_BASE = VMALLOC_END, 64K reserved area | ||
52 | * PHB_IO_BASE = ISA_IO_BASE + 64K to ISA_IO_BASE + 2G, PHB IO spaces | ||
53 | * IOREMAP_BASE = ISA_IO_BASE + 2G to VMALLOC_START + PGTABLE_RANGE | ||
49 | */ | 54 | */ |
50 | #define PHBS_IO_BASE VMALLOC_END | 55 | #define FULL_IO_SIZE 0x80000000ul |
51 | #define IMALLOC_BASE (PHBS_IO_BASE + 0x80000000ul) /* Reserve 2 gigs for PHBs */ | 56 | #define ISA_IO_BASE (VMALLOC_END) |
52 | #define IMALLOC_END (VMALLOC_START + PGTABLE_RANGE) | 57 | #define ISA_IO_END (VMALLOC_END + 0x10000ul) |
58 | #define PHB_IO_BASE (ISA_IO_END) | ||
59 | #define PHB_IO_END (VMALLOC_END + FULL_IO_SIZE) | ||
60 | #define IOREMAP_BASE (PHB_IO_END) | ||
61 | #define IOREMAP_END (VMALLOC_START + PGTABLE_RANGE) | ||
53 | 62 | ||
54 | /* | 63 | /* |
55 | * Region IDs | 64 | * Region IDs |