diff options
Diffstat (limited to 'init/main.c')
-rw-r--r-- | init/main.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/init/main.c b/init/main.c index fc73e1cd8614..fc473d4b56fd 100644 --- a/init/main.c +++ b/init/main.c | |||
@@ -48,6 +48,7 @@ | |||
48 | #include <linux/unwind.h> | 48 | #include <linux/unwind.h> |
49 | #include <linux/buffer_head.h> | 49 | #include <linux/buffer_head.h> |
50 | #include <linux/debug_locks.h> | 50 | #include <linux/debug_locks.h> |
51 | #include <linux/lockdep.h> | ||
51 | 52 | ||
52 | #include <asm/io.h> | 53 | #include <asm/io.h> |
53 | #include <asm/bugs.h> | 54 | #include <asm/bugs.h> |
@@ -457,6 +458,15 @@ asmlinkage void __init start_kernel(void) | |||
457 | 458 | ||
458 | smp_setup_processor_id(); | 459 | smp_setup_processor_id(); |
459 | 460 | ||
461 | /* | ||
462 | * Need to run as early as possible, to initialize the | ||
463 | * lockdep hash: | ||
464 | */ | ||
465 | lockdep_init(); | ||
466 | |||
467 | local_irq_disable(); | ||
468 | early_boot_irqs_off(); | ||
469 | |||
460 | /* | 470 | /* |
461 | * Interrupts are still disabled. Do necessary setups, then | 471 | * Interrupts are still disabled. Do necessary setups, then |
462 | * enable them | 472 | * enable them |
@@ -502,6 +512,7 @@ asmlinkage void __init start_kernel(void) | |||
502 | profile_init(); | 512 | profile_init(); |
503 | if (!irqs_disabled()) | 513 | if (!irqs_disabled()) |
504 | printk("start_kernel(): bug: interrupts were enabled early\n"); | 514 | printk("start_kernel(): bug: interrupts were enabled early\n"); |
515 | early_boot_irqs_on(); | ||
505 | local_irq_enable(); | 516 | local_irq_enable(); |
506 | 517 | ||
507 | /* | 518 | /* |
@@ -512,6 +523,9 @@ asmlinkage void __init start_kernel(void) | |||
512 | console_init(); | 523 | console_init(); |
513 | if (panic_later) | 524 | if (panic_later) |
514 | panic(panic_later, panic_param); | 525 | panic(panic_later, panic_param); |
526 | |||
527 | lockdep_info(); | ||
528 | |||
515 | /* | 529 | /* |
516 | * Need to run this when irqs are enabled, because it wants | 530 | * Need to run this when irqs are enabled, because it wants |
517 | * to self-test [hard/soft]-irqs on/off lock inversion bugs | 531 | * to self-test [hard/soft]-irqs on/off lock inversion bugs |