Messages in this thread | | | Subject | RE: APIC version | Date | Mon, 13 Jan 2003 10:59:35 -0800 | From | "Nakajima, Jun" <> |
| |
The entries in acpi_version[] are indexed by the APIC id, not smp_processor_id(). So you can overwrite acpi_version[] for a different processor.
Jun
> -----Original Message----- > From: Protasevich, Natalie [mailto:Natalie.Protasevich@UNISYS.com] > Sent: Monday, January 13, 2003 10:44 AM > To: 'Martin J. Bligh'; Pallipadi, Venkatesh > Cc: 'William Lee Irwin III'; Nakajima, Jun; 'Christoph Hellwig'; 'James > Cleverdon'; 'Linux Kernel'; Protasevich, Natalie > Subject: APIC version > > I have a little patch here for the APIC version. > Without it, I get version 0x10 instead of 0x14 for Fosters/Gallatins > (booting with ACPI): > > --- mpparse.c.org 2003-01-13 11:32:18.000000000 -0700 > +++ mpparse.c 2003-01-13 11:33:26.000000000 -0700 > @@ -773,6 +773,8 @@ > if (boot_cpu_physical_apicid == -1U) > boot_cpu_physical_apicid = GET_APIC_ID(apic_read(APIC_ID)); > > + apic_version[smp_processor_id()] = > GET_APIC_VERSION(apic_read(APIC_LVR)); > + > Dprintk("Boot CPU = %d\n", boot_cpu_physical_apicid); > } > > @@ -795,7 +797,7 @@ > > processor.mpc_type = MP_PROCESSOR; > processor.mpc_apicid = id; > - processor.mpc_apicver = 0x10; /* TBD: lapic version */ > + processor.mpc_apicver = apic_version[smp_processor_id()]; > processor.mpc_cpuflag = (enabled ? CPU_ENABLED : 0); > processor.mpc_cpuflag |= (boot_cpu ? CPU_BOOTPROCESSOR : 0); > processor.mpc_cpufeature = (boot_cpu_data.x86 << 8) | > > > It seems to work OK for me, although you may find some implications... > Anyway - > > Thanks, > > --Natalie - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |