Commit 180379dcefb39e8bd05d562b0685e9084dffcc0a

Authored by Michael Ellerman
Committed by Paul Mackerras
1 parent e88bcd1b29

[PATCH] ppc64: Remove physbase from the lmb_property struct

We no longer need the lmb code to know about abs and phys addresses, so
remove the physbase variable from the lmb_property struct.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>

Showing 5 changed files with 14 additions and 41 deletions Side-by-side Diff

arch/ppc64/kernel/lmb.c
... ... @@ -37,8 +37,6 @@
37 37 for (i=0; i < lmb.memory.cnt ;i++) {
38 38 udbg_printf(" memory.region[0x%x].base = 0x%lx\n",
39 39 i, lmb.memory.region[i].base);
40   - udbg_printf(" .physbase = 0x%lx\n",
41   - lmb.memory.region[i].physbase);
42 40 udbg_printf(" .size = 0x%lx\n",
43 41 lmb.memory.region[i].size);
44 42 }
... ... @@ -50,8 +48,6 @@
50 48 for (i=0; i < lmb.reserved.cnt ;i++) {
51 49 udbg_printf(" reserved.region[0x%x].base = 0x%lx\n",
52 50 i, lmb.reserved.region[i].base);
53   - udbg_printf(" .physbase = 0x%lx\n",
54   - lmb.reserved.region[i].physbase);
55 51 udbg_printf(" .size = 0x%lx\n",
56 52 lmb.reserved.region[i].size);
57 53 }
... ... @@ -97,7 +93,6 @@
97 93 rgn->region[r1].size += rgn->region[r2].size;
98 94 for (i=r2; i < rgn->cnt-1; i++) {
99 95 rgn->region[i].base = rgn->region[i+1].base;
100   - rgn->region[i].physbase = rgn->region[i+1].physbase;
101 96 rgn->region[i].size = rgn->region[i+1].size;
102 97 }
103 98 rgn->cnt--;
104 99  
... ... @@ -127,21 +122,12 @@
127 122 unsigned long i;
128 123 unsigned long mem_size = 0;
129 124 unsigned long size_mask = 0;
130   -#ifdef CONFIG_MSCHUNKS
131   - unsigned long physbase = 0;
132   -#endif
133 125  
134 126 for (i=0; i < lmb.memory.cnt; i++) {
135 127 unsigned long lmb_size;
136 128  
137 129 lmb_size = lmb.memory.region[i].size;
138 130  
139   -#ifdef CONFIG_MSCHUNKS
140   - lmb.memory.region[i].physbase = physbase;
141   - physbase += lmb_size;
142   -#else
143   - lmb.memory.region[i].physbase = lmb.memory.region[i].base;
144   -#endif
145 131 mem_size += lmb_size;
146 132 size_mask |= lmb_size;
147 133 }
... ... @@ -164,7 +150,6 @@
164 150 adjacent = lmb_addrs_adjacent(base,size,rgnbase,rgnsize);
165 151 if ( adjacent > 0 ) {
166 152 rgn->region[i].base -= size;
167   - rgn->region[i].physbase -= size;
168 153 rgn->region[i].size += size;
169 154 coalesced++;
170 155 break;
171 156  
... ... @@ -191,11 +176,9 @@
191 176 for (i=rgn->cnt-1; i >= 0; i--) {
192 177 if (base < rgn->region[i].base) {
193 178 rgn->region[i+1].base = rgn->region[i].base;
194   - rgn->region[i+1].physbase = rgn->region[i].physbase;
195 179 rgn->region[i+1].size = rgn->region[i].size;
196 180 } else {
197 181 rgn->region[i+1].base = base;
198   - rgn->region[i+1].physbase = lmb_abs_to_phys(base);
199 182 rgn->region[i+1].size = size;
200 183 break;
201 184 }
202 185  
... ... @@ -304,13 +287,7 @@
304 287 {
305 288 int idx = lmb.memory.cnt - 1;
306 289  
307   -#ifdef CONFIG_MSCHUNKS
308   - return (lmb.memory.region[idx].physbase + lmb.memory.region[idx].size);
309   -#else
310 290 return (lmb.memory.region[idx].base + lmb.memory.region[idx].size);
311   -#endif /* CONFIG_MSCHUNKS */
312   -
313   - return 0;
314 291 }
315 292  
316 293 /*
arch/ppc64/mm/hash_utils.c
... ... @@ -210,7 +210,7 @@
210 210  
211 211 /* create bolted the linear mapping in the hash table */
212 212 for (i=0; i < lmb.memory.cnt; i++) {
213   - base = lmb.memory.region[i].physbase + KERNELBASE;
  213 + base = lmb.memory.region[i].base + KERNELBASE;
214 214 size = lmb.memory.region[i].size;
215 215  
216 216 DBG("creating mapping for region: %lx : %lx\n", base, size);
arch/ppc64/mm/init.c
... ... @@ -482,9 +482,9 @@
482 482 for (i = 1; i < lmb.memory.cnt; i++) {
483 483 unsigned long base, prevbase, prevsize;
484 484  
485   - prevbase = lmb.memory.region[i-1].physbase;
  485 + prevbase = lmb.memory.region[i-1].base;
486 486 prevsize = lmb.memory.region[i-1].size;
487   - base = lmb.memory.region[i].physbase;
  487 + base = lmb.memory.region[i].base;
488 488 if (base > (prevbase + prevsize)) {
489 489 io_hole_start = prevbase + prevsize;
490 490 io_hole_size = base - (prevbase + prevsize);
491 491  
... ... @@ -511,11 +511,8 @@
511 511 for (i=0; i < lmb.memory.cnt; i++) {
512 512 unsigned long base;
513 513  
514   -#ifdef CONFIG_MSCHUNKS
515   - base = lmb.memory.region[i].physbase;
516   -#else
517 514 base = lmb.memory.region[i].base;
518   -#endif
  515 +
519 516 if ((paddr >= base) &&
520 517 (paddr < (base + lmb.memory.region[i].size))) {
521 518 return 1;
522 519  
523 520  
524 521  
525 522  
526 523  
... ... @@ -556,25 +553,25 @@
556 553 * present.
557 554 */
558 555 for (i=0; i < lmb.memory.cnt; i++) {
559   - unsigned long physbase, size;
  556 + unsigned long base, size;
560 557 unsigned long start_pfn, end_pfn;
561 558  
562   - physbase = lmb.memory.region[i].physbase;
  559 + base = lmb.memory.region[i].base;
563 560 size = lmb.memory.region[i].size;
564 561  
565   - start_pfn = physbase >> PAGE_SHIFT;
  562 + start_pfn = base >> PAGE_SHIFT;
566 563 end_pfn = start_pfn + (size >> PAGE_SHIFT);
567 564 memory_present(0, start_pfn, end_pfn);
568 565  
569   - free_bootmem(physbase, size);
  566 + free_bootmem(base, size);
570 567 }
571 568  
572 569 /* reserve the sections we're already using */
573 570 for (i=0; i < lmb.reserved.cnt; i++) {
574   - unsigned long physbase = lmb.reserved.region[i].physbase;
  571 + unsigned long base = lmb.reserved.region[i].base;
575 572 unsigned long size = lmb.reserved.region[i].size;
576 573  
577   - reserve_bootmem(physbase, size);
  574 + reserve_bootmem(base, size);
578 575 }
579 576 }
580 577  
581 578  
... ... @@ -613,10 +610,10 @@
613 610 int i;
614 611  
615 612 for (i=0; i < lmb.memory.cnt; i++) {
616   - unsigned long physbase, size;
  613 + unsigned long base, size;
617 614 struct kcore_list *kcore_mem;
618 615  
619   - physbase = lmb.memory.region[i].physbase;
  616 + base = lmb.memory.region[i].base;
620 617 size = lmb.memory.region[i].size;
621 618  
622 619 /* GFP_ATOMIC to avoid might_sleep warnings during boot */
... ... @@ -624,7 +621,7 @@
624 621 if (!kcore_mem)
625 622 panic("mem_init: kmalloc failed\n");
626 623  
627   - kclist_add(kcore_mem, __va(physbase), size);
  624 + kclist_add(kcore_mem, __va(base), size);
628 625 }
629 626  
630 627 kclist_add(&kcore_vmem, (void *)VMALLOC_START, VMALLOC_END-VMALLOC_START);
arch/ppc64/mm/numa.c
... ... @@ -671,7 +671,7 @@
671 671 * Mark reserved regions on this node
672 672 */
673 673 for (i = 0; i < lmb.reserved.cnt; i++) {
674   - unsigned long physbase = lmb.reserved.region[i].physbase;
  674 + unsigned long physbase = lmb.reserved.region[i].base;
675 675 unsigned long size = lmb.reserved.region[i].size;
676 676  
677 677 if (pa_to_nid(physbase) != nid &&
include/asm-ppc64/lmb.h
... ... @@ -22,7 +22,6 @@
22 22  
23 23 struct lmb_property {
24 24 unsigned long base;
25   - unsigned long physbase;
26 25 unsigned long size;
27 26 };
28 27