DebuggingVoodoo
1733
Comment:
|
← Revision 3 as of 2010-07-21 13:38:01 ⇥
1796
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
#redirect Kernel/DebuggingVoodoo <<Include(Kernel/MenuBar)>> |
This page is intended to be a pool of symptoms and tricks or links to places that help getting to the bottom of the problem.
Symptoms
- System pauses during boot and requires to hit a key several times to continue
Debugging Hints
Incorrect IRQ0 override
The BIOS claims that IRQ0 is routed to another IRQ on the IO-APIC, but this is not true. In some cases[1][2] it was possible to check the chipset configuration and ignore the wrong override. But the documentation for most chipsets are NDA. With a tickless system we got the state where all CPU's go into a deeper C-state and require a timer interrupt to wake up. If the timer interrupt is not routed correctly this does not happen.
Possible boot options to try (with "debug lapic=debug"):
- acpi_skip_timer_override
- hpet=disabled / nohpet
- idle=poll (idle=halt might only work on systems without C1E)
With "debug lapic=debug" Linux will show the process of trying to get the interrupt right and also displays the interrupt routing in the IO-APIC.
[1] x86: SB450: skip IRQ0 override if it is not routed to INT2 of IOAPIC
[2] x86: SB600: skip IRQ0 override if it is not routed to INT2 of IOAPIC
KernelTeam/DebuggingVoodoo (last edited 2010-07-21 13:38:01 by 193)