diff options
author | David Gibson <david@gibson.dropbear.id.au> | 2005-12-14 00:08:40 -0500 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2006-01-08 23:05:47 -0500 |
commit | 14c89e7fc84ae55354b8bf12fee1b6d14f259c8a (patch) | |
tree | 83d6bbd44499d81e927bbe743f1a212ff5d30b51 /include | |
parent | 56c8eaee65d688b526c12dca54a30276335679e5 (diff) |
[PATCH] powerpc: Replace VMALLOCBASE with VMALLOC_START
On ppc64, we independently define VMALLOCBASE and VMALLOC_START to be
the same thing: the start of the vmalloc() area at 0xd000000000000000.
VMALLOC_START is used much more widely, including in generic code, so
this patch gets rid of the extraneous VMALLOCBASE.
This does require moving the definitions of region IDs from page_64.h
to pgtable.h, but they don't clearly belong in the former rather than
the latter, anyway. While we're moving them, clean up the definitions
of the REGION_IDs:
- Abolish REGION_SIZE, it was only used once, to define
REGION_MASK anyway
- Define the specific region ids in terms of the REGION_ID()
macro.
- Define KERNEL_REGION_ID in terms of PAGE_OFFSET rather than
KERNELBASE. It amounts to the same thing, but conceptually this is
about the region of the linear mapping (which starts at PAGE_OFFSET)
rather than of the kernel text itself (which is at KERNELBASE).
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-powerpc/page_64.h | 10 | ||||
-rw-r--r-- | include/asm-powerpc/pgtable.h | 11 |
2 files changed, 11 insertions, 10 deletions
diff --git a/include/asm-powerpc/page_64.h b/include/asm-powerpc/page_64.h index 6642c0125001..8a07a93b0321 100644 --- a/include/asm-powerpc/page_64.h +++ b/include/asm-powerpc/page_64.h | |||
@@ -25,16 +25,6 @@ | |||
25 | */ | 25 | */ |
26 | #define PAGE_FACTOR (PAGE_SHIFT - HW_PAGE_SHIFT) | 26 | #define PAGE_FACTOR (PAGE_SHIFT - HW_PAGE_SHIFT) |
27 | 27 | ||
28 | #define REGION_SIZE 4UL | ||
29 | #define REGION_SHIFT 60UL | ||
30 | #define REGION_MASK (((1UL<<REGION_SIZE)-1UL)<<REGION_SHIFT) | ||
31 | |||
32 | #define VMALLOCBASE ASM_CONST(0xD000000000000000) | ||
33 | #define VMALLOC_REGION_ID (VMALLOCBASE >> REGION_SHIFT) | ||
34 | #define KERNEL_REGION_ID (KERNELBASE >> REGION_SHIFT) | ||
35 | #define USER_REGION_ID (0UL) | ||
36 | #define REGION_ID(ea) (((unsigned long)(ea)) >> REGION_SHIFT) | ||
37 | |||
38 | /* Segment size */ | 28 | /* Segment size */ |
39 | #define SID_SHIFT 28 | 29 | #define SID_SHIFT 28 |
40 | #define SID_MASK 0xfffffffffUL | 30 | #define SID_MASK 0xfffffffffUL |
diff --git a/include/asm-powerpc/pgtable.h b/include/asm-powerpc/pgtable.h index 0303f57366c1..3518adb2cc18 100644 --- a/include/asm-powerpc/pgtable.h +++ b/include/asm-powerpc/pgtable.h | |||
@@ -58,6 +58,17 @@ struct mm_struct; | |||
58 | #define IMALLOC_END (VMALLOC_START + PGTABLE_RANGE) | 58 | #define IMALLOC_END (VMALLOC_START + PGTABLE_RANGE) |
59 | 59 | ||
60 | /* | 60 | /* |
61 | * Region IDs | ||
62 | */ | ||
63 | #define REGION_SHIFT 60UL | ||
64 | #define REGION_MASK (0xfUL << REGION_SHIFT) | ||
65 | #define REGION_ID(ea) (((unsigned long)(ea)) >> REGION_SHIFT) | ||
66 | |||
67 | #define VMALLOC_REGION_ID (REGION_ID(VMALLOC_START)) | ||
68 | #define KERNEL_REGION_ID (REGION_ID(PAGE_OFFSET)) | ||
69 | #define USER_REGION_ID (0UL) | ||
70 | |||
71 | /* | ||
61 | * Common bits in a linux-style PTE. These match the bits in the | 72 | * Common bits in a linux-style PTE. These match the bits in the |
62 | * (hardware-defined) PowerPC PTE as closely as possible. Additional | 73 | * (hardware-defined) PowerPC PTE as closely as possible. Additional |
63 | * bits may be defined in pgtable-*.h | 74 | * bits may be defined in pgtable-*.h |