Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 80253
b: refs/heads/master
c: c2b84b3
h: refs/heads/master
i:
  80251: 257062b
v: v3
  • Loading branch information
Thomas Gleixner authored and Ingo Molnar committed Jan 30, 2008
1 parent ddcddce commit 29119d3
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 387faedb1dee2e917811acd05902cc36142a4850
refs/heads/master: c2b84b30b8c8bbccf4d2e32f8a3a70ad09ba9ab8
13 changes: 13 additions & 0 deletions trunk/arch/x86/kernel/apic_32.c
Original file line number Diff line number Diff line change
Expand Up @@ -470,6 +470,19 @@ void __init setup_boot_APIC_clock(void)

local_apic_timer_verify_ok = 1;

/*
* Do a sanity check on the APIC calibration result
*/
if (calibration_result < (1000000 / HZ)) {
local_irq_enable();
printk(KERN_WARNING
"APIC frequency too slow, disabling apic timer\n");
/* No broadcast on UP ! */
if (num_possible_cpus() > 1)
setup_APIC_timer();
return;
}

/* We trust the pm timer based calibration */
if (!pm_referenced) {
apic_printk(APIC_VERBOSE, "... verify APIC timer\n");
Expand Down
12 changes: 12 additions & 0 deletions trunk/arch/x86/kernel/apic_64.c
Original file line number Diff line number Diff line change
Expand Up @@ -383,6 +383,18 @@ void __init setup_boot_APIC_clock(void)
printk(KERN_INFO "Using local APIC timer interrupts.\n");
calibrate_APIC_clock();

/*
* Do a sanity check on the APIC calibration result
*/
if (calibration_result < (1000000 / HZ)) {
printk(KERN_WARNING
"APIC frequency too slow, disabling apic timer\n");
/* No broadcast on UP ! */
if (num_possible_cpus() > 1)
setup_APIC_timer();
return;
}

/*
* If nmi_watchdog is set to IO_APIC, we need the
* PIT/HPET going. Otherwise register lapic as a dummy
Expand Down

0 comments on commit 29119d3

Please sign in to comment.