Skip to content

Commit

Permalink
[PATCH] x86_64: Add option to disable timer check
Browse files Browse the repository at this point in the history
This works around the too fast timer seen on some ATI boards.

I don't feel confident enough about it yet to enable it by default, but give
users the option.

Patch and debugging from Christopher Allen Wing <wingc@engin.umich.edu>, with
minor tweaks (renamed the option and documented it)

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
  • Loading branch information
Andi Kleen authored and Linus Torvalds committed May 20, 2005
1 parent 607a168 commit 14d98ca
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 1 deletion.
3 changes: 3 additions & 0 deletions Documentation/x86_64/boot-options.txt
Expand Up @@ -25,6 +25,9 @@ APICs

noapictimer Don't set up the APIC timer

no_timer_check Don't check the IO-APIC timer. This can work around
problems with incorrect timer initialization on some boards.

Early Console

syntax: earlyprintk=vga
Expand Down
11 changes: 10 additions & 1 deletion arch/x86_64/kernel/io_apic.c
Expand Up @@ -42,6 +42,8 @@

int sis_apic_bug; /* not actually supported, dummy for compile */

static int no_timer_check;

static DEFINE_SPINLOCK(ioapic_lock);

/*
Expand Down Expand Up @@ -1601,7 +1603,7 @@ static inline void check_timer(void)
* Ok, does IRQ0 through the IOAPIC work?
*/
unmask_IO_APIC_irq(0);
if (timer_irq_works()) {
if (!no_timer_check && timer_irq_works()) {
nmi_watchdog_default();
if (nmi_watchdog == NMI_IO_APIC) {
disable_8259A_irq(0);
Expand Down Expand Up @@ -1671,6 +1673,13 @@ static inline void check_timer(void)
panic("IO-APIC + timer doesn't work! Try using the 'noapic' kernel parameter\n");
}

static int __init notimercheck(char *s)
{
no_timer_check = 1;
return 1;
}
__setup("no_timer_check", notimercheck);

/*
*
* IRQ's that are handled by the PIC in the MPS IOAPIC case.
Expand Down

0 comments on commit 14d98ca

Please sign in to comment.