In article <20100730072156.ga20...@marx.bitnet>, Jukka Ruohonen <jruoho...@iki.fi> wrote: >-=-=-=-=-=- > >On Sun, Jul 18, 2010 at 08:59:33PM -0400, Christos Zoulas wrote: >> 1. ACPI seems to define cpuids 1..n; we define 0..n-1. Adjust for that >> 2. My laptop is dual core, but ACPI reports 4 cpu nodes. Instead of >> attaching the unmatched ones, make the match fail. Do we want to >> attach and do nothing instead? >> 3. Create a flag, and only set it after we are completely initialized, >> so the sysmon thread does not try to access unitialized state. > >Can you (and others who might have the same problem) test the attached diff? > >There might be a more elegant way to do this, but including the MADT ID in ><x86/cpu.h> is probably the least invasive one. There is still the case >where the MADT IDs and ACPI processor object IDs do not match, and the case >where a BIOS writer was unable to enumerate numbers in ascending order. >
Works just fine for me :-) Commit! cpu0 at mainbus0 apid 0: Intel 686-class, 2527MHz, id 0x10676 cpu1 at mainbus0 apid 1: Intel 686-class, 2527MHz, id 0x10676 ioapic0 at mainbus0 apid 4: pa 0xfec00000, version 20, 24 pins acpi0 at mainbus0: Intel ACPICA 20100528 acpi0: X/RSDT: OemId < Sony, VAIO,20090717>, AslId < ,01000013> acpi0: SCI interrupting at int 9 timecounter: Timecounter "ACPI-Fast" frequency 3579545 Hz quality 1000 acpi0: SNY6001 activated, STA 0x0000000D -> STA 0x0000000F ACPI CPU: ACPI ID 1, MADT ID 1, LAPIC ID 0 acpicpu0 at acpi0 (CPU0)ACPI CPU: ACPI ID 1, MADT ID 1, LAPIC ID 0 ACPI: Dynamic OEM Table Load: : ACPI CPU, cap 0x318, addr 0x000410, len 0x06 ACPI CPU: ACPI ID 2, MADT ID 2, LAPIC ID 1 acpicpu1 at acpi0 (CPU1)ACPI CPU: ACPI ID 2, MADT ID 2, LAPIC ID 1 ACPI: Dynamic OEM Table Load: : ACPI CPU, cap 0x318, addr 0x000410, len 0x06 CPU2 (ACPI Object Type 'Processor' [0x0c]) at acpi0 not configured CPU3 (ACPI Object Type 'Processor' [0x0c]) at acpi0 not configured christos