|
@@ -261,7 +261,6 @@ unsigned __weak platform_maar_init(unsigned num_pairs)
|
|
|
{
|
|
|
struct maar_config cfg[BOOT_MEM_MAP_MAX];
|
|
|
unsigned i, num_configured, num_cfg = 0;
|
|
|
- phys_addr_t skip;
|
|
|
|
|
|
for (i = 0; i < boot_mem_map.nr_map; i++) {
|
|
|
switch (boot_mem_map.map[i].type) {
|
|
@@ -272,14 +271,14 @@ unsigned __weak platform_maar_init(unsigned num_pairs)
|
|
|
continue;
|
|
|
}
|
|
|
|
|
|
- skip = 0x10000 - (boot_mem_map.map[i].addr & 0xffff);
|
|
|
-
|
|
|
+ /* Round lower up */
|
|
|
cfg[num_cfg].lower = boot_mem_map.map[i].addr;
|
|
|
- cfg[num_cfg].lower += skip;
|
|
|
+ cfg[num_cfg].lower = (cfg[num_cfg].lower + 0xffff) & ~0xffff;
|
|
|
|
|
|
- cfg[num_cfg].upper = cfg[num_cfg].lower;
|
|
|
- cfg[num_cfg].upper += boot_mem_map.map[i].size - 1;
|
|
|
- cfg[num_cfg].upper -= skip;
|
|
|
+ /* Round upper down */
|
|
|
+ cfg[num_cfg].upper = boot_mem_map.map[i].addr +
|
|
|
+ boot_mem_map.map[i].size;
|
|
|
+ cfg[num_cfg].upper = (cfg[num_cfg].upper & ~0xffff) - 1;
|
|
|
|
|
|
cfg[num_cfg].attrs = MIPS_MAAR_S;
|
|
|
num_cfg++;
|