IBM / FreeBSD Install problem

Mark Tinguely tinguely at
Mon Apr 23 18:51:26 UTC 2007

>  John Baldwin <jhb at> 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 .
I saw one more change needed to use on FreeBSD 6.2-RELEASE.

--Mark Tinguely

More information about the freebsd-questions mailing list