Re: [tip:x86/urgent] x86: Detect use of extended APIC ID for AMD CPUs

Andreas Herrmann
2009-06-08T12:03:42Z

On Sun, Jun 07, 2009 at 05:33:27PM +0200, Ingo Molnar wrote:
>
> * tip-bot for Andreas Herrmann <andreas.herrmann3@amd.com> wrote:
>
> > +#ifdef CONFIG_X86_LOCAL_APIC
> > + /* check CPU config space for extended APIC ID */
> > + if (c->x86 >= 0xf) {
> > + unsigned int val;
> > +
> > + val = read_pci_config(0, 24, 0, 0x68);
> > + if ((val & ((1 << 17) | (1 << 18))) == ((1 << 17) | (1 << 18)))
> > + set_cpu_cap(c, X86_FEATURE_EXTD_APICID);
> > + }
> > +#endif
>
> It's possible to enable local APIC but not CONFIG_PCI - in that case
> this sequence will fail to build.

Arrgh, thought that the stuff in early.c is always compiled in. Just
checked arch/x86/pci/Makefile showing
obj-y += common.o early.o
and I didn't check arch/x86/Makefile which contains
drivers-$(CONFIG_PCI) += arch/x86/pci/

Sorry.
I'll send an updated patch.

Andreas