Date: Mon, 23 Apr 2007 15:02:16 -0400 From: John Baldwin <jhb@freebsd.org> To: Mark Tinguely <tinguely@casselton.net> Cc: freebsd-hackers@freebsd.org, MTaylor@bytecraft.com.au, freebsd-questions@freebsd.org, des@des.no Subject: Re: IBM / FreeBSD Install problem Message-ID: <200704231502.16968.jhb@freebsd.org> In-Reply-To: <200704231851.l3NIpJ7H071370@casselton.net> References: <200704231851.l3NIpJ7H071370@casselton.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Monday 23 April 2007 02:51:19 pm Mark Tinguely wrote: > > > John Baldwin <jhb@freebsd.org> says: > > > > APIC IDs are not programmable (well, they are on I/O APICs, but not local=20 > > APICs). However, I am working on patches to support all valid APIC IDs for= > > =20 > > both mptable and MADT. Bumping up NLAPICS as a temporary workaround should= > > =20 > > suffice for now. > > > > =2D-=20 > > John Baldwin > > IMO, the quick solution also requires that MAX_APICID in > [amd64/amd64 | i386/i386]/local_apic.c needs to be changed > because lapic_create() checks if the passed apic_id > MAX_APICID. > > Also in [amd64/amd64 | i386/i386]/mp_machdep.c checks in cpu_add() > if the passed apic_id >= MAXCPU. There are a couple other checks > in mp_machdep.c before converting to use the cpu_apic_ids[] array. > > I was curious, and wrote up a patch file with the potential minor changes > for -current at http://www.casselton.com/~tinguely/acpicid.patch . > I saw one more change needed to use on FreeBSD 6.2-RELEASE. What I have so far is somewhat similar, but goes ahead and allows the full range of APIC IDs while trying to still honor MAXCPU correctly. I haven't ported it to i386 yet, nor compiled it yet, much less booted it. :) I hope to at least get it booted on amd64 today. -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200704231502.16968.jhb>