aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/ppc64/kernel/lmb.c19
-rw-r--r--arch/ppc64/mm/init.c4
-rw-r--r--include/asm-ppc64/abs_addr.h6
3 files changed, 2 insertions, 27 deletions
diff --git a/arch/ppc64/kernel/lmb.c b/arch/ppc64/kernel/lmb.c
index 6cb275615fc4..111da736652b 100644
--- a/arch/ppc64/kernel/lmb.c
+++ b/arch/ppc64/kernel/lmb.c
@@ -313,25 +313,6 @@ lmb_end_of_DRAM(void)
313 return 0; 313 return 0;
314} 314}
315 315
316unsigned long __init
317lmb_abs_to_phys(unsigned long aa)
318{
319 unsigned long i, pa = aa;
320 struct lmb *_lmb = &lmb;
321 struct lmb_region *_mem = &(_lmb->memory);
322
323 for (i=0; i < _mem->cnt; i++) {
324 unsigned long lmbbase = _mem->region[i].base;
325 unsigned long lmbsize = _mem->region[i].size;
326 if ( lmb_addrs_overlap(aa,1,lmbbase,lmbsize) ) {
327 pa = _mem->region[i].physbase + (aa - lmbbase);
328 break;
329 }
330 }
331
332 return pa;
333}
334
335/* 316/*
336 * Truncate the lmb list to memory_limit if it's set 317 * Truncate the lmb list to memory_limit if it's set
337 * You must call lmb_analyze() after this. 318 * You must call lmb_analyze() after this.
diff --git a/arch/ppc64/mm/init.c b/arch/ppc64/mm/init.c
index 9edfe267123e..a16cf12c586b 100644
--- a/arch/ppc64/mm/init.c
+++ b/arch/ppc64/mm/init.c
@@ -42,7 +42,6 @@
42 42
43#include <asm/pgalloc.h> 43#include <asm/pgalloc.h>
44#include <asm/page.h> 44#include <asm/page.h>
45#include <asm/abs_addr.h>
46#include <asm/prom.h> 45#include <asm/prom.h>
47#include <asm/lmb.h> 46#include <asm/lmb.h>
48#include <asm/rtas.h> 47#include <asm/rtas.h>
@@ -167,7 +166,6 @@ static int map_io_page(unsigned long ea, unsigned long pa, int flags)
167 ptep = pte_alloc_kernel(&init_mm, pmdp, ea); 166 ptep = pte_alloc_kernel(&init_mm, pmdp, ea);
168 if (!ptep) 167 if (!ptep)
169 return -ENOMEM; 168 return -ENOMEM;
170 pa = abs_to_phys(pa);
171 set_pte_at(&init_mm, ea, ptep, pfn_pte(pa >> PAGE_SHIFT, 169 set_pte_at(&init_mm, ea, ptep, pfn_pte(pa >> PAGE_SHIFT,
172 __pgprot(flags))); 170 __pgprot(flags)));
173 spin_unlock(&init_mm.page_table_lock); 171 spin_unlock(&init_mm.page_table_lock);
@@ -547,7 +545,7 @@ void __init do_init_bootmem(void)
547 */ 545 */
548 bootmap_pages = bootmem_bootmap_pages(total_pages); 546 bootmap_pages = bootmem_bootmap_pages(total_pages);
549 547
550 start = abs_to_phys(lmb_alloc(bootmap_pages<<PAGE_SHIFT, PAGE_SIZE)); 548 start = lmb_alloc(bootmap_pages<<PAGE_SHIFT, PAGE_SIZE);
551 BUG_ON(!start); 549 BUG_ON(!start);
552 550
553 boot_mapsize = init_bootmem(start >> PAGE_SHIFT, total_pages); 551 boot_mapsize = init_bootmem(start >> PAGE_SHIFT, total_pages);
diff --git a/include/asm-ppc64/abs_addr.h b/include/asm-ppc64/abs_addr.h
index ab4320c1cf5b..200db1c45f29 100644
--- a/include/asm-ppc64/abs_addr.h
+++ b/include/asm-ppc64/abs_addr.h
@@ -56,9 +56,6 @@ static inline unsigned long phys_to_abs(unsigned long pa)
56 return chunk_to_addr(chunk) + (pa & MSCHUNKS_OFFSET_MASK); 56 return chunk_to_addr(chunk) + (pa & MSCHUNKS_OFFSET_MASK);
57} 57}
58 58
59/* A macro so it can take pointers or unsigned long. */
60#define abs_to_phys(aa) lmb_abs_to_phys((unsigned long)(aa))
61
62#else /* !CONFIG_MSCHUNKS */ 59#else /* !CONFIG_MSCHUNKS */
63 60
64#define chunk_to_addr(chunk) ((unsigned long)(chunk)) 61#define chunk_to_addr(chunk) ((unsigned long)(chunk))
@@ -68,12 +65,11 @@ static inline unsigned long phys_to_abs(unsigned long pa)
68 65
69#define phys_to_abs(pa) (pa) 66#define phys_to_abs(pa) (pa)
70#define physRpn_to_absRpn(rpn) (rpn) 67#define physRpn_to_absRpn(rpn) (rpn)
71#define abs_to_phys(aa) (aa)
72 68
73#endif /* !CONFIG_MSCHUNKS */ 69#endif /* !CONFIG_MSCHUNKS */
74 70
75/* Convenience macros */ 71/* Convenience macros */
76#define virt_to_abs(va) phys_to_abs(__pa(va)) 72#define virt_to_abs(va) phys_to_abs(__pa(va))
77#define abs_to_virt(aa) __va(abs_to_phys(aa)) 73#define abs_to_virt(aa) __va(aa)
78 74
79#endif /* _ABS_ADDR_H */ 75#endif /* _ABS_ADDR_H */