x86/mm: Use early_memunmap() instead of early_iounmap()
Memory mapped via early_memremap() should be unmapped with early_memunmap() instead of early_iounmap(). Signed-off-by: Juergen Gross <jgross@suse.com> Cc: matt.fleming@intel.com Link: http://lkml.kernel.org/r/1424769211-11378-2-git-send-email-jgross@suse.com Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
parent
a1fb6696c6
commit
8d4a40bc06
|
@ -286,13 +286,13 @@ static void __init x86_flattree_get_config(void)
|
||||||
initial_boot_params = dt = early_memremap(initial_dtb, map_len);
|
initial_boot_params = dt = early_memremap(initial_dtb, map_len);
|
||||||
size = of_get_flat_dt_size();
|
size = of_get_flat_dt_size();
|
||||||
if (map_len < size) {
|
if (map_len < size) {
|
||||||
early_iounmap(dt, map_len);
|
early_memunmap(dt, map_len);
|
||||||
initial_boot_params = dt = early_memremap(initial_dtb, size);
|
initial_boot_params = dt = early_memremap(initial_dtb, size);
|
||||||
map_len = size;
|
map_len = size;
|
||||||
}
|
}
|
||||||
|
|
||||||
unflatten_and_copy_device_tree();
|
unflatten_and_copy_device_tree();
|
||||||
early_iounmap(dt, map_len);
|
early_memunmap(dt, map_len);
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
static inline void x86_flattree_get_config(void) { }
|
static inline void x86_flattree_get_config(void) { }
|
||||||
|
|
|
@ -661,7 +661,7 @@ void __init parse_e820_ext(u64 phys_addr, u32 data_len)
|
||||||
extmap = (struct e820entry *)(sdata->data);
|
extmap = (struct e820entry *)(sdata->data);
|
||||||
__append_e820_map(extmap, entries);
|
__append_e820_map(extmap, entries);
|
||||||
sanitize_e820_map(e820.map, ARRAY_SIZE(e820.map), &e820.nr_map);
|
sanitize_e820_map(e820.map, ARRAY_SIZE(e820.map), &e820.nr_map);
|
||||||
early_iounmap(sdata, data_len);
|
early_memunmap(sdata, data_len);
|
||||||
printk(KERN_INFO "e820: extended physical RAM map:\n");
|
printk(KERN_INFO "e820: extended physical RAM map:\n");
|
||||||
e820_print_map("extended");
|
e820_print_map("extended");
|
||||||
}
|
}
|
||||||
|
|
|
@ -356,7 +356,7 @@ static void __init relocate_initrd(void)
|
||||||
mapaddr = ramdisk_image & PAGE_MASK;
|
mapaddr = ramdisk_image & PAGE_MASK;
|
||||||
p = early_memremap(mapaddr, clen+slop);
|
p = early_memremap(mapaddr, clen+slop);
|
||||||
memcpy(q, p+slop, clen);
|
memcpy(q, p+slop, clen);
|
||||||
early_iounmap(p, clen+slop);
|
early_memunmap(p, clen+slop);
|
||||||
q += clen;
|
q += clen;
|
||||||
ramdisk_image += clen;
|
ramdisk_image += clen;
|
||||||
ramdisk_size -= clen;
|
ramdisk_size -= clen;
|
||||||
|
@ -445,7 +445,7 @@ static void __init parse_setup_data(void)
|
||||||
data_len = data->len + sizeof(struct setup_data);
|
data_len = data->len + sizeof(struct setup_data);
|
||||||
data_type = data->type;
|
data_type = data->type;
|
||||||
pa_next = data->next;
|
pa_next = data->next;
|
||||||
early_iounmap(data, sizeof(*data));
|
early_memunmap(data, sizeof(*data));
|
||||||
|
|
||||||
switch (data_type) {
|
switch (data_type) {
|
||||||
case SETUP_E820_EXT:
|
case SETUP_E820_EXT:
|
||||||
|
@ -480,7 +480,7 @@ static void __init e820_reserve_setup_data(void)
|
||||||
E820_RAM, E820_RESERVED_KERN);
|
E820_RAM, E820_RESERVED_KERN);
|
||||||
found = 1;
|
found = 1;
|
||||||
pa_data = data->next;
|
pa_data = data->next;
|
||||||
early_iounmap(data, sizeof(*data));
|
early_memunmap(data, sizeof(*data));
|
||||||
}
|
}
|
||||||
if (!found)
|
if (!found)
|
||||||
return;
|
return;
|
||||||
|
@ -501,7 +501,7 @@ static void __init memblock_x86_reserve_range_setup_data(void)
|
||||||
data = early_memremap(pa_data, sizeof(*data));
|
data = early_memremap(pa_data, sizeof(*data));
|
||||||
memblock_reserve(pa_data, sizeof(*data) + data->len);
|
memblock_reserve(pa_data, sizeof(*data) + data->len);
|
||||||
pa_data = data->next;
|
pa_data = data->next;
|
||||||
early_iounmap(data, sizeof(*data));
|
early_memunmap(data, sizeof(*data));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue