lkml.org 
[lkml]   [2006]   [Jun]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[patch 4/8] lock validator: early_init_irq_lock_type / console_init
From: Heiko Carstens <heiko.carstens@de.ibm.com>

Two changes:
- let the kernel compile for architectures that support TRACE_IRQ_FLAGS but
don't support GENERIC_HARDIRQS.
- s390's console_init must enable interrupts, but early_boot_irqs_on() gets
called later. To avoid problems move console_init() after local_irq_enable().
Hope this works on all architectures?!

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
---

include/linux/lockdep.h | 8 ++++++--
init/main.c | 6 +++---
2 files changed, 9 insertions(+), 5 deletions(-)

diff -purN a/include/linux/lockdep.h b/include/linux/lockdep.h
--- a/include/linux/lockdep.h 2006-06-14 10:57:14.000000000 +0200
+++ b/include/linux/lockdep.h 2006-06-14 13:02:19.000000000 +0200
@@ -265,12 +265,16 @@ static inline void lockdep_on(void)
struct lockdep_type_key { };
#endif /* !LOCKDEP */

-#ifdef CONFIG_TRACE_IRQFLAGS
+#if defined(CONFIG_TRACE_IRQFLAGS) && defined(CONFIG_GENERIC_HARDIRQS)
extern void early_init_irq_lock_type(void);
+#else
+# define early_init_irq_lock_type() do { } while (0)
+#endif
+
+#ifdef CONFIG_TRACE_IRQFLAGS
extern void early_boot_irqs_off(void);
extern void early_boot_irqs_on(void);
#else
-# define early_init_irq_lock_type() do { } while (0)
# define early_boot_irqs_off() do { } while (0)
# define early_boot_irqs_on() do { } while (0)
#endif
diff -purN a/init/main.c b/init/main.c
--- a/init/main.c 2006-06-14 10:57:04.000000000 +0200
+++ b/init/main.c 2006-06-14 13:02:19.000000000 +0200
@@ -516,6 +516,9 @@ asmlinkage void __init start_kernel(void
softirq_init();
time_init();
timekeeping_init();
+ profile_init();
+ early_boot_irqs_on();
+ local_irq_enable();

/*
* HACK ALERT! This is early. We're enabling the console before
@@ -525,9 +528,6 @@ asmlinkage void __init start_kernel(void
console_init();
if (panic_later)
panic(panic_later, panic_param);
- profile_init();
- early_boot_irqs_on();
- local_irq_enable();

lockdep_info();

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
\
 
 \ /
  Last update: 2006-06-14 16:22    [W:0.099 / U:0.056 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site