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

From: Yinghai Lu
Date: Sun Mar 30 2008 - 19:24:40 EST


On Sun, Mar 30, 2008 at 2:08 PM, Jack Steiner <steiner@xxxxxxx> wrote:
> > > unsigned int get_apic_id(void)
> > > {
> > > - return (apic_read(APIC_ID) >> 24) & 0xFFu;
> > > + unsigned int id;
> > > +
> > > + preempt_disable();
> > > + id = apic_read(APIC_ID);
> > > + if (uv_system_type >= UV_X2APIC)
> > > + id |= __get_cpu_var(x2apic_extra_bits);
> > > + else
> > > + id = (id >> 24) & 0xFFu;;
> > > + preempt_enable();
> > > + return id;
> > >
> >
> > you can not shift id here.
> >
> > GET_APIC_ID will shift that again.
> >
> > you apic id will be 0 for all cpu
> >
>
> I think this is fixed in the patch that I submitted on Friday. I
> had to rework the GET_APIC_ID() changes because of the unification
> of -32 & -64 apic code. I think the new code is much cleaner...

i think Ingo already put you Friday's version in x86.git#latest.

that is wrong too with extra shift.

YH
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/