Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 17 Mar 2003 01:14:33 -0800
From:      "Mike O'Brien" <obrien@leonardo.net>
To:        John Baldwin <jhb@freebsd.org>
Cc:        freebsd-smp@freebsd.org
Subject:   Re: Question about number of CPUs 
Message-ID:  <200303170914.h2H9EXl00756@c-24-130-253-104.we.client2.attbi.com>
In-Reply-To: Your message of "Thu, 13 Mar 2003 11:17:49 EST." <XFMail.20030313111749.jhb@FreeBSD.org> 

next in thread | previous in thread | raw e-mail | index | archive | help
	A reminder: I'm running RELENG_4 on an Iwill DP533 motherboard
with dual Xeons.  I'm using this board because it's the only board I've
found that supports both dual Xeon processors and an AGP slot.

	When we last left our hero, he was struggling with the fact that
'mptable' reports, and the SMP kernel activates, APIC IDs 0 and 1.  This
seems screwball; it should be reporting 0 and 2.  Nevertheless, Windows XP,
which must be using the ACPI table as opposed to the MP table, correctly
finds four processors.

	John Baldwin said:
> Humm, it does seem that your BIOS is broken and is reporting the two cores
> on CPU 0 in the mptable. :-/

	Certainly something is broken.  Either it's doing that, or it's
assigning APIC IDs 0 and 2 to the first physical CPU, and APIC IDs 1 and
3 to the second physical CPU.  Whichever, the spec is being violated.
The board is running the most current BIOS available from Iwill.

	This message is to report that I girded my loins and committed
violent upon i386/mp_machdep.c.  I short-circuited the sanity check
on the APIC ID numbers, and using my a priori knowledge of the results
of 'acpidump', I hotwired the cpu activation code in the second pass
to activate the logical CPUS at the proper APIC IDs.

	To my eternal shame, this seems to have worked.  Four processors
are now activated and the resulting kernel seems stable.  I'm not posting
this code because no one not running this particular BIOS revision on
this particular board should come anywhere near it.  I will cheerfully
burn this code at midnight at a crossroads and drive a stake through
the ashes when the -STABLE kernel is updated to activate processors based
on the ACPI table.

	Thanks for the guidance, folks.  I couldn't have done it without you.

Mike O'Brien


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-smp" in the body of the message




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