From 45acb625b17ca642fa968a7ca41e0a03e8e9ccfb Mon Sep 17 00:00:00 2001 From: Richard Braun Date: Wed, 12 Dec 2012 23:04:26 +0100 Subject: Simplify requirements on interrupts during initialization Don't involve the pmap module directly, as there could be others. Make the cpu module completely responsible for synchronizing all processors on kernel entry so that interrupts can be explicitely enabled there. --- kern/kernel.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'kern/kernel.c') diff --git a/kern/kernel.c b/kern/kernel.c index 760f68e8..07a0f660 100644 --- a/kern/kernel.c +++ b/kern/kernel.c @@ -30,7 +30,7 @@ kernel_main(void) task_setup(); thread_setup(); - /* Interrupts are enabled by this call */ + cpu_intr_enable(); cpu_mp_setup(); thread_run(); @@ -41,7 +41,10 @@ kernel_main(void) void __init kernel_ap_main(void) { - assert(cpu_intr_enabled()); + assert(!cpu_intr_enabled()); + + cpu_intr_enable(); + cpu_ap_sync(); thread_run(); -- cgit v1.2.3