Re: [PATCH 8/8] x86_64: Support for new UV apic

Yinghai Lu
2008-03-31T02:29:48Z

On Sun, Mar 30, 2008 at 7:26 PM, Jack Steiner <steiner@sgi.com> wrote:
>
> On Sun, Mar 30, 2008 at 07:23:07PM -0700, Yinghai Lu wrote:
> > On Sun, Mar 30, 2008 at 7:12 PM, Jack Steiner <steiner@sgi.com> wrote:
> > > > > Did you test it on non UV_X2APIC box?
> > > >
> > > > anyway the read_apic_id is totally wrong, even for your UV_X2APIC box.
> > > > because id=apic_read(APIC_ID) will have apic_id at bits [31,24], and
> > > > id |= __get_cpu_var(x2apic_extra_bits) is assuming that is on bits [5,0]
> > > >
> > > > so you even didn't test in your UV_X2APIC box!
> > > >
> > >
> > > It works fine on UV_X2APIX boxes because the double shift does
> > > not occur. However, support for UV_X2APIC is dependent on
> > > x2apic code that is not yet in the tree. Once the APIC
> > > is switched into x2apic mode, the apicid is located in the LOW
> > > bits of the apicid register, not the HIGH bits.
> >
> > oh, so that will need have new version GET_APIC_ID too.
>
> Yes, although I think all the changes will be unified into
> one non-inline function that is a combination of
> GET_APIC_ID() & read_apic_id().

it seems x2apic patch should be applied before uv patch...

YH