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, 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@FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org



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