Hi,
we currently have a problem with latest Intel CPUs/BIOSes:
If the machine gets booted it hangs in:
init/main.c:
kdb_init();
As soon as an irq via keyboard is triggered, the machine continues
booting and everything is fine.
Is this known already? Can someone point me to a patch?
If not, is there a repo having the latest code, I could try
out whether the latest version works.
IMO something like the attached patch makes sense?
This fixes the problem with kdb=off (our default).
But I am anxious that kdb code could still get activitated somehow
and the machine might oops when trying to access not initialized
kdb structures? Could someone give an estimation how risky that
patch really is?
Still the real bug should be found and if this is not known, can someone
give me a pointer to what this problem could be related and where I
should look closer at, please.
Thanks,
Thomas
---
init/main.c | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
Index: linux-2.6.27-SLE11_BRANCH_x2apic_kdb/init/main.c
===================================================================
--- linux-2.6.27-SLE11_BRANCH_x2apic_kdb.orig/init/main.c
+++ linux-2.6.27-SLE11_BRANCH_x2apic_kdb/init/main.c
@@ -200,6 +200,9 @@ extern struct obs_kernel_param __setup_s
#ifdef CONFIG_KDB
static int __init kdb_setup(char *str)
{
+ if (!str)
+ return -EINVAL;
+
if (strcmp(str, "on") == 0) {
kdb_on = 1;
} else if (strcmp(str, "on-nokey") == 0) {
@@ -214,7 +217,7 @@ static int __init kdb_setup(char *str)
return 0;
}
-__setup("kdb=", kdb_setup);
+early_param("kdb", kdb_setup);
#endif /* CONFIG_KDB */
static int __init obsolete_checksetup(char *line)
@@ -685,9 +688,11 @@ asmlinkage void __init start_kernel(void
anon_vma_init();
#ifdef CONFIG_KDB
- kdb_init();
- if (KDB_FLAG(EARLYKDB)) {
- KDB_ENTER();
+ if (kdb_on) {
+ kdb_init();
+ if (KDB_FLAG(EARLYKDB)) {
+ KDB_ENTER();
+ }
}
#endif /* CONFIG_KDB */
_______________________________________________
kdb mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/kdb