diff options
author | Yinghai Lu <yhlu.kernel@gmail.com> | 2008-06-25 20:56:22 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-07-08 07:10:50 -0400 |
commit | 257b0fde99df0160db03e529dbfb3a4e46c07a88 (patch) | |
tree | 7c887d152232a94b14563bafc0075b202a969281 /arch/x86/kernel/setup.c | |
parent | 217b8ce89088dd47e7176686ff34573f75a624e9 (diff) |
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>
Diffstat (limited to 'arch/x86/kernel/setup.c')
-rw-r--r-- | arch/x86/kernel/setup.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c index f24a8fe8a7e4..4b00c8347bb7 100644 --- a/arch/x86/kernel/setup.c +++ b/arch/x86/kernel/setup.c | |||
@@ -375,6 +375,31 @@ static void __init reserve_initrd(void) | |||
375 | } | 375 | } |
376 | #endif /* CONFIG_BLK_DEV_INITRD */ | 376 | #endif /* CONFIG_BLK_DEV_INITRD */ |
377 | 377 | ||
378 | void __init parse_setup_data(void) | ||
379 | { | ||
380 | struct setup_data *data; | ||
381 | u64 pa_data; | ||
382 | |||
383 | if (boot_params.hdr.version < 0x0209) | ||
384 | return; | ||
385 | pa_data = boot_params.hdr.setup_data; | ||
386 | while (pa_data) { | ||
387 | data = early_ioremap(pa_data, PAGE_SIZE); | ||
388 | switch (data->type) { | ||
389 | case SETUP_E820_EXT: | ||
390 | parse_e820_ext(data, pa_data); | ||
391 | break; | ||
392 | default: | ||
393 | break; | ||
394 | } | ||
395 | #ifndef CONFIG_DEBUG_BOOT_PARAMS | ||
396 | free_early(pa_data, pa_data+sizeof(*data)+data->len); | ||
397 | #endif | ||
398 | pa_data = data->next; | ||
399 | early_iounmap(data, PAGE_SIZE); | ||
400 | } | ||
401 | } | ||
402 | |||
378 | /* | 403 | /* |
379 | * Determine if we were loaded by an EFI loader. If so, then we have also been | 404 | * Determine if we were loaded by an EFI loader. If so, then we have also been |
380 | * passed the efi memmap, systab, etc., so we should use these data structures | 405 | * passed the efi memmap, systab, etc., so we should use these data structures |