aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-ppc64/abs_addr.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-ppc64/abs_addr.h')
-rw-r--r--include/asm-ppc64/abs_addr.h15
1 files changed, 7 insertions, 8 deletions
diff --git a/include/asm-ppc64/abs_addr.h b/include/asm-ppc64/abs_addr.h
index 2276567f133a..05414a9bfdd1 100644
--- a/include/asm-ppc64/abs_addr.h
+++ b/include/asm-ppc64/abs_addr.h
@@ -17,18 +17,17 @@
17#include <asm/prom.h> 17#include <asm/prom.h>
18#include <asm/lmb.h> 18#include <asm/lmb.h>
19 19
20struct msChunks { 20#ifdef CONFIG_MSCHUNKS
21
22struct mschunks_map {
21 unsigned long num_chunks; 23 unsigned long num_chunks;
22 unsigned long chunk_size; 24 unsigned long chunk_size;
23 unsigned long chunk_shift; 25 unsigned long chunk_shift;
24 unsigned long chunk_mask; 26 unsigned long chunk_mask;
25 u32 *abs; 27 u32 *mapping;
26}; 28};
27 29
28extern struct msChunks msChunks; 30extern struct mschunks_map mschunks_map;
29
30
31#ifdef CONFIG_MSCHUNKS
32 31
33/* Chunks are 256 KB */ 32/* Chunks are 256 KB */
34#define MSCHUNKS_CHUNK_SHIFT (18) 33#define MSCHUNKS_CHUNK_SHIFT (18)
@@ -52,10 +51,10 @@ static inline unsigned long chunk_offset(unsigned long addr)
52 51
53static inline unsigned long abs_chunk(unsigned long pchunk) 52static inline unsigned long abs_chunk(unsigned long pchunk)
54{ 53{
55 if (pchunk >= msChunks.num_chunks) 54 if (pchunk >= mschunks_map.num_chunks)
56 return pchunk; 55 return pchunk;
57 56
58 return msChunks.abs[pchunk]; 57 return mschunks_map.mapping[pchunk];
59} 58}
60 59
61/* A macro so it can take pointers or unsigned long. */ 60/* A macro so it can take pointers or unsigned long. */