IBM / FreeBSD Install problem

John Baldwin jhb at freebsd.org
Mon Apr 23 19:54:14 UTC 2007


On Monday 23 April 2007 02:51:19 pm Mark Tinguely wrote:
> 
> >  John Baldwin <jhb at 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


More information about the freebsd-hackers mailing list