Re: Freebsd 6.0 doesnt detect local APIC on a Pentium 3 machine

From: John Baldwin <jhb_at_FreeBSD.org>
Date: Sun, 6 Nov 2005 10:12:55 -0500
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
Received on Sun Nov 06 2005 - 14:40:33 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:47 UTC