mirror of https://gitee.com/openkylin/linux.git
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);
|
||||
size = of_get_flat_dt_size();
|
||||
if (map_len < size) {
|
||||
early_iounmap(dt, map_len);
|
||||
early_memunmap(dt, map_len);
|
||||
initial_boot_params = dt = early_memremap(initial_dtb, size);
|
||||
map_len = size;
|
||||
}
|
||||
|
||||
unflatten_and_copy_device_tree();
|
||||
early_iounmap(dt, map_len);
|
||||
early_memunmap(dt, map_len);
|
||||
}
|
||||
#else
|
||||
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);
|
||||
__append_e820_map(extmap, entries);
|
||||
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");
|
||||
e820_print_map("extended");
|
||||
}
|
||||
|
|
|
@ -356,7 +356,7 @@ static void __init relocate_initrd(void)
|
|||
mapaddr = ramdisk_image & PAGE_MASK;
|
||||
p = early_memremap(mapaddr, clen+slop);
|
||||
memcpy(q, p+slop, clen);
|
||||
early_iounmap(p, clen+slop);
|
||||
early_memunmap(p, clen+slop);
|
||||
q += clen;
|
||||
ramdisk_image += clen;
|
||||
ramdisk_size -= clen;
|
||||
|
@ -445,7 +445,7 @@ static void __init parse_setup_data(void)
|
|||
data_len = data->len + sizeof(struct setup_data);
|
||||
data_type = data->type;
|
||||
pa_next = data->next;
|
||||
early_iounmap(data, sizeof(*data));
|
||||
early_memunmap(data, sizeof(*data));
|
||||
|
||||
switch (data_type) {
|
||||
case SETUP_E820_EXT:
|
||||
|
@ -480,7 +480,7 @@ static void __init e820_reserve_setup_data(void)
|
|||
E820_RAM, E820_RESERVED_KERN);
|
||||
found = 1;
|
||||
pa_data = data->next;
|
||||
early_iounmap(data, sizeof(*data));
|
||||
early_memunmap(data, sizeof(*data));
|
||||
}
|
||||
if (!found)
|
||||
return;
|
||||
|
@ -501,7 +501,7 @@ static void __init memblock_x86_reserve_range_setup_data(void)
|
|||
data = early_memremap(pa_data, sizeof(*data));
|
||||
memblock_reserve(pa_data, sizeof(*data) + data->len);
|
||||
pa_data = data->next;
|
||||
early_iounmap(data, sizeof(*data));
|
||||
early_memunmap(data, sizeof(*data));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue