AMD64 K8 Family C1E dead apic timer fixup

John Baldwin jhb at freebsd.org
Mon Apr 23 19:53:56 UTC 2007


On Friday 20 April 2007 07:54:44 am Ariff Abdullah wrote:
> Will anybody object if I (or somebody else) commit this patch?
> 
>    http://people.freebsd.org/~ariff/test/k8_c1e.diff
> 
> This should "fix" dead apic timer issues on latest AMD64 (Turion64
> X2 mostly, or later revision) where C1 Enhanced (C1E) mode enabled.
> 
> Without this, the only way to make the timer work is to disable APIC
> or even worst, to avoid executing HLT instruction
> (machdep.cpu_idle_hlt=0), smp or non-smp. It affect both i386 and
> amd64.
> 
> See PR: i386/104678 for details.

Does this fix all of the Turion lapic timer hangs?  Some small tweaks to the 
comment would be:

- s/present/presence/
- s/render/renders/
- s/apic timer/local APIC timer/
- s/dead, and/dead, so/
- s/reading Interrupt/reading the Interrupt/
- s/unset/clearing/

Also, is it ok to always mask off the upper 31 bits of the MSR instead of 
preserving their current state?

-- 
John Baldwin


More information about the freebsd-amd64 mailing list