diff options
author | Andi Kleen <ak@suse.de> | 2006-09-26 04:52:32 -0400 |
---|---|---|
committer | Andi Kleen <andi@basil.nowhere.org> | 2006-09-26 04:52:32 -0400 |
commit | 43c85c9c5dff76efc1e411d3302840027ea92004 (patch) | |
tree | 4923b42a0fadfa8206af684ea4c9958d2a2e03ea | |
parent | 2c8c0e6b8d7700a990da8d24eff767f9ca223b96 (diff) |
[PATCH] Remove need for early lockdep init
I think it was only needed for the printks and we can do them later.
I put in a single early_printk so that we know the kernel is alive
(early_printk doesn't need any locks)
This makes some things easier for initialization of unwind for
lockdep, which is needed by later patches.
cc: mingo@elte.hu
Signed-off-by: Andi Kleen <ak@suse.de>
-rw-r--r-- | arch/x86_64/kernel/head64.c | 8 | ||||
-rw-r--r-- | arch/x86_64/kernel/setup.c | 2 |
2 files changed, 3 insertions, 7 deletions
diff --git a/arch/x86_64/kernel/head64.c b/arch/x86_64/kernel/head64.c index 6716cbfc34ac..9561eb3c5b5c 100644 --- a/arch/x86_64/kernel/head64.c +++ b/arch/x86_64/kernel/head64.c | |||
@@ -45,15 +45,12 @@ static void __init copy_bootdata(char *real_mode_data) | |||
45 | new_data = *(int *) (x86_boot_params + NEW_CL_POINTER); | 45 | new_data = *(int *) (x86_boot_params + NEW_CL_POINTER); |
46 | if (!new_data) { | 46 | if (!new_data) { |
47 | if (OLD_CL_MAGIC != * (u16 *) OLD_CL_MAGIC_ADDR) { | 47 | if (OLD_CL_MAGIC != * (u16 *) OLD_CL_MAGIC_ADDR) { |
48 | printk("so old bootloader that it does not support commandline?!\n"); | ||
49 | return; | 48 | return; |
50 | } | 49 | } |
51 | new_data = OLD_CL_BASE_ADDR + * (u16 *) OLD_CL_OFFSET; | 50 | new_data = OLD_CL_BASE_ADDR + * (u16 *) OLD_CL_OFFSET; |
52 | printk("old bootloader convention, maybe loadlin?\n"); | ||
53 | } | 51 | } |
54 | command_line = (char *) ((u64)(new_data)); | 52 | command_line = (char *) ((u64)(new_data)); |
55 | memcpy(saved_command_line, command_line, COMMAND_LINE_SIZE); | 53 | memcpy(saved_command_line, command_line, COMMAND_LINE_SIZE); |
56 | printk("Bootdata ok (command line is %s)\n", saved_command_line); | ||
57 | } | 54 | } |
58 | 55 | ||
59 | void __init x86_64_start_kernel(char * real_mode_data) | 56 | void __init x86_64_start_kernel(char * real_mode_data) |
@@ -65,10 +62,7 @@ void __init x86_64_start_kernel(char * real_mode_data) | |||
65 | asm volatile("lidt %0" :: "m" (idt_descr)); | 62 | asm volatile("lidt %0" :: "m" (idt_descr)); |
66 | clear_bss(); | 63 | clear_bss(); |
67 | 64 | ||
68 | /* | 65 | early_printk("Kernel alive\n"); |
69 | * This must be called really, really early: | ||
70 | */ | ||
71 | lockdep_init(); | ||
72 | 66 | ||
73 | /* | 67 | /* |
74 | * switch to init_level4_pgt from boot_level4_pgt | 68 | * switch to init_level4_pgt from boot_level4_pgt |
diff --git a/arch/x86_64/kernel/setup.c b/arch/x86_64/kernel/setup.c index f55540a6084e..9c4d93c53c06 100644 --- a/arch/x86_64/kernel/setup.c +++ b/arch/x86_64/kernel/setup.c | |||
@@ -353,6 +353,8 @@ static void discover_ebda(void) | |||
353 | 353 | ||
354 | void __init setup_arch(char **cmdline_p) | 354 | void __init setup_arch(char **cmdline_p) |
355 | { | 355 | { |
356 | printk(KERN_INFO "Command line: %s\n", saved_command_line); | ||
357 | |||
356 | ROOT_DEV = old_decode_dev(ORIG_ROOT_DEV); | 358 | ROOT_DEV = old_decode_dev(ORIG_ROOT_DEV); |
357 | screen_info = SCREEN_INFO; | 359 | screen_info = SCREEN_INFO; |
358 | edid_info = EDID_INFO; | 360 | edid_info = EDID_INFO; |