Re: 2.6.10-rc2 doesn't boot (if no floppy device)

From: Len Brown
Date: Thu Nov 18 2004 - 18:22:31 EST


Chris,

Please apply this debug patch and boot with
apic=debug acpi_dbg_level=1

If the disabled floppy hardware doesn't cause the floppy.c
to hang the system, (or if running Linus' recent floppy.c
update, if the floppy.c doesn't nuke IRQ6) then please
send me the dmesg.

Then try with apic=debug pci=routeirq and capture that dmesg.

If the patch makes no functional difference, then please
add pci=routeirq to the cmdline above and send me that dmesg.

apic=debug
enables print_PIC() so we can see what the BIOS gave us,
and what we do to the PIC.

acpi_dbg_level=1
will prevent ACPI from blindly disabling the
PCI Interrupt Link Devices, which I'm guessing
may be confusing the BIOS on this box.

if you can send me the acpidmp and lspci -vv for
this box, that would help too.

thanks,
-Len

===== arch/i386/pci/acpi.c 1.18 vs edited =====
--- 1.18/arch/i386/pci/acpi.c 2004-10-19 00:44:01 -04:00
+++ edited/arch/i386/pci/acpi.c 2004-11-18 17:57:20 -05:00
@@ -56,6 +56,10 @@
if (acpi_ioapic)
print_IO_APIC();
#endif
+ {
+ extern void print_PIC(void);
+ print_PIC();
+ }

return 0;
}
===== drivers/acpi/pci_link.c 1.34 vs edited =====
--- 1.34/drivers/acpi/pci_link.c 2004-11-02 02:40:09 -05:00
+++ edited/drivers/acpi/pci_link.c 2004-11-18 18:11:15 -05:00
@@ -475,6 +475,9 @@
struct acpi_pci_link *link = NULL;
int i = 0;

+extern void print_PIC(void);
+print_PIC();
+
ACPI_FUNCTION_TRACE("acpi_irq_penalty_init");

/*
@@ -685,8 +688,13 @@
acpi_link.count++;

end:
+
/* disable all links -- to be activated on use */
+if (acpi_dbg_level != 1)
acpi_ut_evaluate_object(link->handle, "_DIS", 0, NULL);
+else
+ printk("NOT disabled\n");
+

if (result)
kfree(link);
@@ -865,6 +873,9 @@

if (acpi_noirq)
return_VALUE(0);
+
+extern void print_PIC(void);
+print_PIC();

acpi_link.count = 0;
INIT_LIST_HEAD(&acpi_link.entries);