Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 6 Nov 2005 10:12:55 -0500
From:      John Baldwin <jhb@FreeBSD.org>
To:        Vaibhave Agarwal <vaibhave@cs.utah.edu>
Cc:        freebsd-net@FreeBSD.org, current@FreeBSD.org, chris@gnome.co.uk, chmr@edvz.tu-graz.ac.at
Subject:   Re: Freebsd 6.0 doesnt detect local APIC on a Pentium 3 machine
Message-ID:  <200511061012.57212.jhb@FreeBSD.org>
In-Reply-To: <Pine.LNX.4.61.0511060450130.4600@trust.cs.utah.edu>
References:  <20051027233636.GA39380@dmw.hopto.org> <Pine.LNX.4.61.0510281621120.19263@trust.cs.utah.edu> <Pine.LNX.4.61.0511060450130.4600@trust.cs.utah.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
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, b=
ut=20
rely on a working MP Table or MADT table to setup both the local APIC(s) an=
d=20
I/O APIC(s).  Does your machine have a valid MP Table or an APIC table in i=
ts=20
acpidump?  Many UP machine BIOSes don't include those tables.

=2D-=20
John Baldwin <jhb@FreeBSD.org> =A0<>< =A0http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve" =A0=3D =A0http://www.FreeBSD.org



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200511061012.57212.jhb>