hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/arch/arm/mm/pmsa-v8.c
....@@ -94,19 +94,20 @@
9494 void __init pmsav8_adjust_lowmem_bounds(void)
9595 {
9696 phys_addr_t mem_end;
97
- struct memblock_region *reg;
97
+ phys_addr_t reg_start, reg_end;
9898 bool first = true;
99
+ u64 i;
99100
100
- for_each_memblock(memory, reg) {
101
+ for_each_mem_range(i, &reg_start, &reg_end) {
101102 if (first) {
102103 phys_addr_t phys_offset = PHYS_OFFSET;
103104
104105 /*
105106 * Initially only use memory continuous from
106107 * PHYS_OFFSET */
107
- if (reg->base != phys_offset)
108
+ if (reg_start != phys_offset)
108109 panic("First memory bank must be contiguous from PHYS_OFFSET");
109
- mem_end = reg->base + reg->size;
110
+ mem_end = reg_end;
110111 first = false;
111112 } else {
112113 /*
....@@ -115,8 +116,8 @@
115116 * blocks separately while iterating)
116117 */
117118 pr_notice("Ignoring RAM after %pa, memory at %pa ignored\n",
118
- &mem_end, &reg->base);
119
- memblock_remove(reg->base, 0 - reg->base);
119
+ &mem_end, &reg_start);
120
+ memblock_remove(reg_start, 0 - reg_start);
120121 break;
121122 }
122123 }
....@@ -165,7 +166,7 @@
165166 return -EINVAL;
166167
167168 bar = start;
168
- lar = (end - 1) & ~(PMSAv8_MINALIGN - 1);;
169
+ lar = (end - 1) & ~(PMSAv8_MINALIGN - 1);
169170
170171 bar |= PMSAv8_AP_PL1RW_PL0RW | PMSAv8_RGN_SHARED;
171172 lar |= PMSAv8_LAR_IDX(PMSAv8_RGN_NORMAL) | PMSAv8_LAR_EN;
....@@ -181,7 +182,7 @@
181182 return -EINVAL;
182183
183184 bar = start;
184
- lar = (end - 1) & ~(PMSAv8_MINALIGN - 1);;
185
+ lar = (end - 1) & ~(PMSAv8_MINALIGN - 1);
185186
186187 bar |= PMSAv8_AP_PL1RW_PL0RW | PMSAv8_RGN_SHARED | PMSAv8_BAR_XN;
187188 lar |= PMSAv8_LAR_IDX(PMSAv8_RGN_DEVICE_nGnRnE) | PMSAv8_LAR_EN;