Freebsd 6.0 doesnt detect local APIC on a Pentium 3 machine

John Baldwin jhb at FreeBSD.org
Sun Nov 6 07:40:33 PST 2005


On Sunday 06 November 2005 07:06 am, Vaibhave Agarwal wrote:
> hi,
>
> FreeBSD 6.0 always uses local APIC for the clock.
>
> But on my Pentium 3, 850 MHz machine, it doesnt detect local APIC and
> falls back to using the motherboard clock for the clock interrupts.
>
> I figured this out by printing the value of
> "using_lapic_timer" variable in the sys/i386/isa/clock.c file,
> which is always 0.
>
> But when I use Intel's 3GHz - 64 bit Xeon processor, it detects local APIC
> and all works fine.
>
> Can someone please tell me the reason, why local APIC doesnt work for the
> Pentium 3 machines ? Or is there a way to fix this ?

We don't detect the local APIC via MSR's or the APIC bit in cpu_features, but 
rely on a working MP Table or MADT table to setup both the local APIC(s) and 
I/O APIC(s).  Does your machine have a valid MP Table or an APIC table in its 
acpidump?  Many UP machine BIOSes don't include those tables.

-- 
John Baldwin <jhb at FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org


More information about the freebsd-current mailing list