#redirect Kernel/DebuggingVoodoo <> ||<>|| 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 * [[https://wiki.ubuntu.com/KernelTeam/DebuggingVoodoo#Incorrect%20IRQ0%20override|Timer interrupt is not correctly routed]] == 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] [[http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=33fb0e4eb53f16af312f9698f974e2e64af39c12|x86: SB450: skip IRQ0 override if it is not routed to INT2 of IOAPIC]] [2] [[http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=2bfef69d9e8cc056aa4dbc13f2136747340b4515|x86: SB600: skip IRQ0 override if it is not routed to INT2 of IOAPIC]]