diff options
author | Stephen Rothwell <sfr@canb.auug.org.au> | 2007-08-20 00:58:36 -0400 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2007-08-22 01:21:46 -0400 |
commit | 16a15a30f8a09af6ce2dc4fd6eec9b454c1fe488 (patch) | |
tree | b9a2be9818f41d92df001950374ed6bc49e44751 /include | |
parent | 556ecf9be66f4d493e19bc71a7ce84366d512b71 (diff) |
[POWERPC] iSeries: Clean up lparmap mess
We need to have xLparMap in head_64.S so that it is at a fixed address
(because the linker will not resolve (address & 0xffffffff) for us).
But the assembler miscalculates the KERNEL_VSID() expressions. So put
the confusing expressions into asm-offsets.c.
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-powerpc/iseries/lpar_map.h | 3 | ||||
-rw-r--r-- | include/asm-powerpc/page_64.h | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/include/asm-powerpc/iseries/lpar_map.h b/include/asm-powerpc/iseries/lpar_map.h index 2ec384d66abb..5e9f3e128ee2 100644 --- a/include/asm-powerpc/iseries/lpar_map.h +++ b/include/asm-powerpc/iseries/lpar_map.h | |||
@@ -22,6 +22,8 @@ | |||
22 | 22 | ||
23 | #include <asm/types.h> | 23 | #include <asm/types.h> |
24 | 24 | ||
25 | #endif | ||
26 | |||
25 | /* | 27 | /* |
26 | * The iSeries hypervisor will set up mapping for one or more | 28 | * The iSeries hypervisor will set up mapping for one or more |
27 | * ESID/VSID pairs (in SLB/segment registers) and will set up | 29 | * ESID/VSID pairs (in SLB/segment registers) and will set up |
@@ -56,6 +58,7 @@ | |||
56 | /* Hypervisor initially maps 32MB of the load area */ | 58 | /* Hypervisor initially maps 32MB of the load area */ |
57 | #define HvPagesToMap 8192 | 59 | #define HvPagesToMap 8192 |
58 | 60 | ||
61 | #ifndef __ASSEMBLY__ | ||
59 | struct LparMap { | 62 | struct LparMap { |
60 | u64 xNumberEsids; // Number of ESID/VSID pairs | 63 | u64 xNumberEsids; // Number of ESID/VSID pairs |
61 | u64 xNumberRanges; // Number of VA ranges to map | 64 | u64 xNumberRanges; // Number of VA ranges to map |
diff --git a/include/asm-powerpc/page_64.h b/include/asm-powerpc/page_64.h index 4ceb1132c480..56a2df0f6836 100644 --- a/include/asm-powerpc/page_64.h +++ b/include/asm-powerpc/page_64.h | |||
@@ -28,7 +28,7 @@ | |||
28 | 28 | ||
29 | /* Segment size */ | 29 | /* Segment size */ |
30 | #define SID_SHIFT 28 | 30 | #define SID_SHIFT 28 |
31 | #define SID_MASK 0xfffffffffUL | 31 | #define SID_MASK ASM_CONST(0xfffffffff) |
32 | #define ESID_MASK 0xfffffffff0000000UL | 32 | #define ESID_MASK 0xfffffffff0000000UL |
33 | #define GET_ESID(x) (((x) >> SID_SHIFT) & SID_MASK) | 33 | #define GET_ESID(x) (((x) >> SID_SHIFT) & SID_MASK) |
34 | 34 | ||