x86: move parse_setup_data back to setup.c
Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
Родитель
217b8ce890
Коммит
257b0fde99
|
@ -375,6 +375,31 @@ static void __init reserve_initrd(void)
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_BLK_DEV_INITRD */
|
#endif /* CONFIG_BLK_DEV_INITRD */
|
||||||
|
|
||||||
|
void __init parse_setup_data(void)
|
||||||
|
{
|
||||||
|
struct setup_data *data;
|
||||||
|
u64 pa_data;
|
||||||
|
|
||||||
|
if (boot_params.hdr.version < 0x0209)
|
||||||
|
return;
|
||||||
|
pa_data = boot_params.hdr.setup_data;
|
||||||
|
while (pa_data) {
|
||||||
|
data = early_ioremap(pa_data, PAGE_SIZE);
|
||||||
|
switch (data->type) {
|
||||||
|
case SETUP_E820_EXT:
|
||||||
|
parse_e820_ext(data, pa_data);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
#ifndef CONFIG_DEBUG_BOOT_PARAMS
|
||||||
|
free_early(pa_data, pa_data+sizeof(*data)+data->len);
|
||||||
|
#endif
|
||||||
|
pa_data = data->next;
|
||||||
|
early_iounmap(data, PAGE_SIZE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Determine if we were loaded by an EFI loader. If so, then we have also been
|
* Determine if we were loaded by an EFI loader. If so, then we have also been
|
||||||
* passed the efi memmap, systab, etc., so we should use these data structures
|
* passed the efi memmap, systab, etc., so we should use these data structures
|
||||||
|
|
|
@ -214,31 +214,6 @@ void __init setup_per_cpu_areas(void)
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void __init parse_setup_data(void)
|
|
||||||
{
|
|
||||||
struct setup_data *data;
|
|
||||||
u64 pa_data;
|
|
||||||
|
|
||||||
if (boot_params.hdr.version < 0x0209)
|
|
||||||
return;
|
|
||||||
pa_data = boot_params.hdr.setup_data;
|
|
||||||
while (pa_data) {
|
|
||||||
data = early_ioremap(pa_data, PAGE_SIZE);
|
|
||||||
switch (data->type) {
|
|
||||||
case SETUP_E820_EXT:
|
|
||||||
parse_e820_ext(data, pa_data);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
#ifndef CONFIG_DEBUG_BOOT_PARAMS
|
|
||||||
free_early(pa_data, pa_data+sizeof(*data)+data->len);
|
|
||||||
#endif
|
|
||||||
pa_data = data->next;
|
|
||||||
early_iounmap(data, PAGE_SIZE);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef X86_64_NUMA
|
#ifdef X86_64_NUMA
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Загрузка…
Ссылка в новой задаче