This page redirects to page "Kernel/DebuggingVoodoo"

Clear message

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.


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 jeremyfoshee)