Skip site navigation (1)Skip section navigation (2)
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>