Subject: Re: Heads up: i386 MP config change
To: None <fvdl@wasabisystems.com>
From: HAMAJIMA Katsuomi <hamajima@nagoya.ydc.co.jp>
List: current-users
Date: 01/20/2003 12:29:13
----Next_Part(Mon_Jan_20_12:29:13_2003_946)--
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

> As I said, it's a bit experimental for now, but let me know if
> it works for you, both on MP and UP systems. Include a dmesg
> output if possible.

I'm using dual P3 on Tyan Tiger100. but it does not work.

    panic: cpu at apic id 0 already attached?

I checked *ApicId variables. First CPU is ProcessorApicId=1 and
LocalApicId=0, second CPU is ProcessorApicId=2, LocalApicId=1.

In mpacpi.c:mpacpi_config_cpu()
                        /*
                         * Assume ACPI Id 0 == BSP.
                         * XXX check if that's correct.
                         * XXX field name in structure is wrong.
                         */
                        if (p->ProcessorApicId == 0)
                                caa.cpu_role = CPU_ROLE_BP;
                        else
                                caa.cpu_role = CPU_ROLE_AP;

I think that this assumption does not match my motherboard.

PS
sorry my english is very bad


----Next_Part(Mon_Jan_20_12:29:13_2003_946)--
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: inline; filename="dmesg.out"

I change it as follows temporarily.

--- arch/i386/i386/mpacpi.c	15 Jan 2003 15:50:38 -0000	1.1.2.2
+++ arch/i386/i386/mpacpi.c	20 Jan 2003 03:17:02 -0000
@@ -287,7 +287,7 @@
 			 * XXX check if that's correct.
 			 * XXX field name in structure is wrong.
 			 */
-			if (p->ProcessorApicId == 0)
+			if (p->ProcessorApicId == 1)
 				caa.cpu_role = CPU_ROLE_BP;
 			else
 				caa.cpu_role = CPU_ROLE_AP;

----------------------------------------------------------------
NetBSD 1.6M (XCAST) #22: Mon Jan 20 12:04:25 JST 2003
    hamajima@xcast:/usr/local/src/current/arch/i386/compile/XCAST
total memory = 255 MB
avail memory = 234 MB
using 3295 buffers containing 13180 KB of memory
BIOS32 rev. 0 found at 0xfdb50
mainbus0 (root)
mainbus0: scanning 0x9fc00 to 0x9fff0 for MP signature
mainbus0: scanning 0x9e400 to 0x9e7f0 for MP signature
mainbus0: scanning 0xf0000 to 0xffff0 for MP signature
mainbus0: MP floating pointer found in bios at 0xfb560
mainbus0: MP config table at 0xf64c0, 300 bytes long


ACPI MADT table:
default local APIC address: fee00000
system dual 8259 present
entries:
processor: id 1 apid 0 enabled: yes
processor: id 2 apid 1 enabled: yes
ioapic: apid 2 address fec00000 vector base 0
int override: bus 0 irq 0 int 2
int override: bus 0 irq 9 int 20
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: Intel Pentium III (686-class), 448.09 MHz, id 0x673
cpu0: features 383fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR>
cpu0: features 383fbff<PGE,MCA,CMOV,PAT,PSE36,MMX>
cpu0: features 383fbff<FXSR,SSE>
cpu0: I-cache 16 KB 32b/line 4-way, D-cache 16 KB 32b/line 4-way
cpu0: L2 cache 512 KB 32b/line 4-way
cpu0: ITLB 32 4 KB entries 4-way, 2 4 MB entries fully associative
cpu0: DTLB 64 4 KB entries 4-way, 8 4 MB entries 4-way
cpu0: calibrating local timer
cpu0: apic clock running at 99 MHz
cpu0: 32 page colors
cpu0: kstack at 0xd35b2000 for 16384 bytes
cpu0: idle pcb at 0xd35b2000, idle sp at 0xd35b5f98
cpu1 at mainbus0: apid 1 (application processor)
cpu1: starting
cpu1: Intel Pentium III (686-class), 448.06 MHz, id 0x673
cpu1: features 383fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR>
cpu1: features 383fbff<PGE,MCA,CMOV,PAT,PSE36,MMX>
cpu1: features 383fbff<FXSR,SSE>
cpu1: I-cache 16 KB 32b/line 4-way, D-cache 16 KB 32b/line 4-way
cpu1: L2 cache 512 KB 32b/line 4-way
cpu1: ITLB 32 4 KB entries 4-way, 2 4 MB entries fully associative
cpu1: DTLB 64 4 KB entries 4-way, 8 4 MB entries 4-way
cpu1: kstack at 0xd35ba000 for 16384 bytes
cpu1: idle pcb at 0xd35ba000, idle sp at 0xd35bdf98
ioapic0 at mainbus0 apid 2 (I/O APIC)
ioapic0: pa 0xfec00000, virtual wire mode, version 11, 24 pins
acpi0 at mainbus0
acpi0: X/RSDT: OemId <OEMTYN,OEMTYNTB,00000009>, AslId <AMI ,00000001>
acpi0: SCI interrupting at int 9
acpi0: fixed-feature power button present
mpacpi: found root PCI bus 0 at level 1
mpacpi: 1 PCI busses


ACPI MADT table:
default local APIC address: fee00000
system dual 8259 present
entries:
processor: id 1 apid 0 enabled: yes
processor: id 2 apid 1 enabled: yes
ioapic: apid 2 address fec00000 vector base 0
int override: bus 0 irq 0 int 2
int override: bus 0 irq 9 int 20
mpacpi: configuring PCI bus 0 int routing
ioapic0: int2 attached to isa0 irq 0 (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int1 attached to isa0 irq 1 (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int3 attached to isa0 irq 3 (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int4 attached to isa0 irq 4 (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int5 attached to isa0 irq 5 (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int6 attached to isa0 irq 6 (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int7 attached to isa0 irq 7 (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int8 attached to isa0 irq 8 (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int20 attached to isa0 irq 9 (type 0<type=0> flags d<pol=1=Act Hi,trig=3=Level>)
ioapic0: int10 attached to isa0 irq 10 (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int11 attached to isa0 irq 11 (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int12 attached to isa0 irq 12 (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int13 attached to isa0 irq 13 (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int14 attached to isa0 irq 14 (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int15 attached to isa0 irq 15 (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int16 attached to pci0 device 1 INT_A (type 0<type=0> flags f<pol=3=Act Lo,trig=3=Level>)
ioapic0: int17 attached to pci0 device 1 INT_B (type 0<type=0> flags f<pol=3=Act Lo,trig=3=Level>)
ioapic0: int19 attached to pci0 device 7 INT_D (type 0<type=0> flags f<pol=3=Act Lo,trig=3=Level>)
ioapic0: int16 attached to pci0 device 16 INT_A (type 0<type=0> flags f<pol=3=Act Lo,trig=3=Level>)
ioapic0: int17 attached to pci0 device 16 INT_B (type 0<type=0> flags f<pol=3=Act Lo,trig=3=Level>)
ioapic0: int18 attached to pci0 device 16 INT_C (type 0<type=0> flags f<pol=3=Act Lo,trig=3=Level>)
ioapic0: int19 attached to pci0 device 16 INT_D (type 0<type=0> flags f<pol=3=Act Lo,trig=3=Level>)
ioapic0: int17 attached to pci0 device 17 INT_A (type 0<type=0> flags f<pol=3=Act Lo,trig=3=Level>)
ioapic0: int18 attached to pci0 device 17 INT_B (type 0<type=0> flags f<pol=3=Act Lo,trig=3=Level>)
ioapic0: int19 attached to pci0 device 17 INT_C (type 0<type=0> flags f<pol=3=Act Lo,trig=3=Level>)
ioapic0: int16 attached to pci0 device 17 INT_D (type 0<type=0> flags f<pol=3=Act Lo,trig=3=Level>)
ioapic0: int18 attached to pci0 device 18 INT_A (type 0<type=0> flags f<pol=3=Act Lo,trig=3=Level>)
ioapic0: int19 attached to pci0 device 18 INT_B (type 0<type=0> flags f<pol=3=Act Lo,trig=3=Level>)
ioapic0: int16 attached to pci0 device 18 INT_C (type 0<type=0> flags f<pol=3=Act Lo,trig=3=Level>)
ioapic0: int17 attached to pci0 device 18 INT_D (type 0<type=0> flags f<pol=3=Act Lo,trig=3=Level>)
ioapic0: int19 attached to pci0 device 19 INT_A (type 0<type=0> flags f<pol=3=Act Lo,trig=3=Level>)
ioapic0: int16 attached to pci0 device 19 INT_B (type 0<type=0> flags f<pol=3=Act Lo,trig=3=Level>)
ioapic0: int17 attached to pci0 device 19 INT_C (type 0<type=0> flags f<pol=3=Act Lo,trig=3=Level>)
ioapic0: int18 attached to pci0 device 19 INT_D (type 0<type=0> flags f<pol=3=Act Lo,trig=3=Level>)
ioapic0: int16 attached to pci0 device 20 INT_A (type 0<type=0> flags f<pol=3=Act Lo,trig=3=Level>)
ioapic0: int17 attached to pci0 device 20 INT_B (type 0<type=0> flags f<pol=3=Act Lo,trig=3=Level>)
ioapic0: int18 attached to pci0 device 20 INT_C (type 0<type=0> flags f<pol=3=Act Lo,trig=3=Level>)
ioapic0: int19 attached to pci0 device 20 INT_D (type 0<type=0> flags f<pol=3=Act Lo,trig=3=Level>)
ACPI Object Type 'Processor' (0x0c) at acpi0 not configured
ACPI Object Type 'Processor' (0x0c) at acpi0 not configured
    ACPI-1286: *** Error: Method execution failed [\_SB_.PCI0.SBRG.PS2M._STA] (Node 0xc093f020), AE_AML_REGION_LIMIT
    ACPI-0178: *** Error: Method execution failed [\_SB_.PCI0.SBRG.PS2M._STA] (Node 0xc093f020), AE_AML_REGION_LIMIT
    ACPI-1286: *** Error: Method execution failed [\_SB_.PCI0.SBRG.PS2M._STA] (Node 0xc093f020), AE_AML_REGION_LIMIT
    ACPI-0178: *** Error: Method execution failed [\_SB_.PCI0.SBRG.PS2M._STA] (Node 0xc093f020), AE_AML_REGION_LIMIT
PNP0A03 at acpi0 not configured
PNP0C02 at acpi0 not configured
PNP0000 at acpi0 not configured
PNP0200 at acpi0 not configured
PNP0100 at acpi0 not configured
PNP0B00 at acpi0 not configured
PNP0800 at acpi0 not configured
npx0 at acpi0 (PNP0C04)
npx0: io 0xf0-0xff irq 13
npx0: using exception 16
pckbc0 at acpi0 (PNP0303): kbd port
pckbc0: io 0x60,0x64 irq 1
PNP0C0F at acpi0 not configured
PNP0C0F at acpi0 not configured
PNP0C0F at acpi0 not configured
PNP0C0F at acpi0 not configured
PNP0C01 at acpi0 not configured
acpibut0 at acpi0 (PNP0C0E): ACPI Sleep Button
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard
pms0 at pckbc0 (aux slot)
pckbc0: unable to establish interrupt for aux slot
wsmouse0 at pms0 mux 0
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
pchb0 at pci0 dev 0 function 0
pchb0: Intel 82443BX Host Bridge/Controller (rev. 0x02)
agp0 at pchb0: aperture at 0xe0000000, size 0x8000000
ppb0 at pci0 dev 1 function 0: Intel 82443BX AGP Interface (rev. 0x02)
pci1 at ppb0 bus 1
pci1: i/o space, memory space enabled
vga0 at pci1 dev 0 function 0: Nvidia Corporation GeForce2 GTS (rev. 0xa3)
wsdisplay0 at vga0 kbdmux 1: console (80x25, vt100 emulation), using wskbd0
wsmux1: connecting to wsdisplay0
wsdisplay0: screen 1-3 added (80x25, vt100 emulation)
pcib0 at pci0 dev 7 function 0
pcib0: Intel 82371AB PCI-to-ISA Bridge (PIIX4) (rev. 0x02)
pciide0 at pci0 dev 7 function 1: Intel 82371AB IDE controller (PIIX4) (rev. 0x01)
pciide0: bus-master DMA support present
pciide0: primary channel wired to compatibility mode
wd0 at pciide0 channel 0 drive 0: <ST328040A>
wd0: drive supports 16-sector PIO transfers, LBA addressing
wd0: 27199 MB, 16383 cyl, 16 head, 63 sec, 512 bytes/sect x 55704096 sectors
wd0: 32-bit data port
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 2 (Ultra/33)
pciide0: primary channel interrupting at irq 14
wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 2 (Ultra/33) (using DMA data transfers)
pciide0: secondary channel wired to compatibility mode
atapibus0 at pciide0 channel 1: 2 targets
cd0 at atapibus0 drive 0: <TOSHIBA DVD-ROM SD-M1212, 3900003389, 1R10> cdrom removable
cd0: 32-bit data port
cd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 2 (Ultra/33)
pciide0: secondary channel interrupting at irq 15
cd0(pciide0:1:0): using PIO mode 4, Ultra-DMA mode 2 (Ultra/33) (using DMA data transfers)
uhci0 at pci0 dev 7 function 2: Intel 82371AB USB Host Controller (PIIX4) (rev. 0x01)
uhci0: interrupting at apic 2 int 19 (irq 9)
usb0 at uhci0: USB revision 1.0
uhub0 at usb0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
Intel 82371AB Power Management Controller (PIIX4) (miscellaneous bridge, revision 0x02) at pci0 dev 7 function 3 not configured
bktr0 at pci0 dev 16 function 0
bktr0: interrupting at apic 2 int 16 (irq 10)
bktr0: Leadtek WinFast TV2000/VC100, <no> tuner.
Brooktree product 0x0878 (miscellaneous multimedia, revision 0x02) at pci0 dev 16 function 1 not configured
pciide1 at pci0 dev 17 function 0: Promise Ultra133/ATA Bus Master IDE Accelerator (rev. 0x02)
pciide1: bus-master DMA support present
pciide1: primary channel configured to native-PCI mode
pciide1: using apic 2 int 17 (irq 11) for native-PCI interrupt
wd1 at pciide1 channel 0 drive 0: <ST330630A>
wd1: drive supports 16-sector PIO transfers, LBA addressing
wd1: 29188 MB, 16383 cyl, 16 head, 63 sec, 512 bytes/sect x 59777640 sectors
wd1: 32-bit data port
wd1: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 4 (Ultra/66)
wd1(pciide1:0:0): using PIO mode 4, Ultra-DMA mode 4 (Ultra/66) (using DMA data transfers)
pciide1: secondary channel configured to native-PCI mode
wd2 at pciide1 channel 1 drive 0: <MAXTOR 4K080H4>
wd2: drive supports 16-sector PIO transfers, LBA addressing
wd2: 76319 MB, 16383 cyl, 16 head, 63 sec, 512 bytes/sect x 156301487 sectors
wd2: 32-bit data port
wd2: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
wd2(pciide1:1:0): using PIO mode 4, Ultra-DMA mode 5 (Ultra/100) (using DMA data transfers)
yds0 at pci0 dev 18 function 0: Yamaha 754 (DS-1E) Audio (rev. 0x00)
yds0: interrupting at apic 2 int 18 (irq 5)
yds0: SigmaTel STAC9708 codec; 18 bit DAC, 18 bit ADC, SigmaTel 3D
yds0: surround DAC
audio0 at yds0: full duplex, mmap, independent
tlp0 at pci0 dev 19 function 0: DECchip 21140A Ethernet, pass 2.2
tlp0: interrupting at apic 2 int 19 (irq 9)
tlp0: Ethernet address 00:90:cc:0f:b2:28
dmphy0 at tlp0 phy 1: DM9101 (AMD Am79C873) 10/100 media interface, rev. 0
dmphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
fwohci0 at pci0 dev 20 function 0: NEC uPD72870 IEEE 1394 OHCI Host Controller (rev. 0x03)
fwohci0: interrupting at apic 2 int 16 (irq 10)
fwohci0: OHCI 1.0, 00:a0:b0:07:00:00:82:fb, 400Mb/s, 1024 max_rec, 4 ir_ctx, 4 it_ctx
isa0 at pcib0
pcppi0 at isa0 port 0x61
midi0 at pcppi0: PC speaker
sysbeep0 at pcppi0
isapnp0 at isa0 port 0x279: ISA Plug 'n Play device support
isapnp0: no ISA Plug 'n Play devices found
opl0 at yds0: model OPL3
midi1 at opl0: DS-1 integrated Yamaha OPL3
mpu0 at yds0
midi2 at mpu0: Yamaha DS-1 MIDI UART
cpu0: prelint0 700<vector=0,delmode=7,dest=0> 0<target=0>
cpu0: prelint1 400<vector=0,delmode=4,dest=0> 0<target=0>
cpu0: timer0 300c0<vector=c0,delmode=0,masked,dest=0> 0<target=0>
cpu0: pcint0 10000<vector=0,delmode=0,masked,dest=0> 0<target=0>
cpu0: lint0 10700<vector=0,delmode=7,masked,dest=0> 0<target=0>
cpu0: lint1 400<vector=0,delmode=4,dest=0> 0<target=0>
cpu0: err0 1000f<vector=f,delmode=0,masked,dest=0> 0<target=0>
ioapic0: enabling
ioapic0: int1 190<vector=90,delmode=1,dest=0> 0<target=0>
ioapic0: int9 a1d0<vector=d0,delmode=1,actlo,level,dest=0> 0<target=0>
ioapic0: int14 160<vector=60,delmode=1,dest=0> 0<target=0>
ioapic0: int15 161<vector=61,delmode=1,dest=0> 0<target=0>
ioapic0: int16 a163<vector=63,delmode=1,actlo,level,dest=0> 0<target=0>
ioapic0: int17 a164<vector=64,delmode=1,actlo,level,dest=0> 0<target=0>
ioapic0: int18 a1b0<vector=b0,delmode=1,actlo,level,dest=0> 0<target=0>
ioapic0: int19 a162<vector=62,delmode=1,actlo,level,dest=0> 0<target=0>
fw0 at fwohci0: 00:a0:b0:07:00:00:82:fb:09:02:ff:ff:f0:01:00:00
uaudio0 at uhub0 port 2 configuration 1 interface 0: Philips Electronics Philips USB Digital Speaker System, rev 1.00/1.00, addr 2
uaudio0: ignored setting with precision 20
uaudio0: ignored setting with precision 20
uaudio0: audio rev 1.00
audio1 at uaudio0: full duplex, independent
uhidev0 at uhub0 port 2 configuration 1 interface 2
uhidev0: Philips Electronics Philips USB Digital Speaker System, rev 1.00/1.00, addr 2, iclass 3/0
uhid0 at uhidev0: input=1, output=1, feature=0
wd0: no disk label
wd2: no disk label
boot device: wd1
root on wd1a dumps on wd1b
root file system type: ffs
cpu1: prelint0 10000<vector=0,delmode=0,masked,dest=0> 0<target=0>
cpu1: prelint1 10000<vector=0,delmode=0,masked,dest=0> 0<target=0>
cpu1: timer0 200c0<vector=c0,delmode=0,dest=0> 0<target=0>
cpu1: pcint0 10000<vector=0,delmode=0,masked,dest=0> 0<target=0>
cpu1: lint0 10000<vector=0,delmode=0,masked,dest=0> 0<target=0>
cpu1: lint1 10000<vector=0,delmode=0,masked,dest=0> 0<target=0>
cpu1: err0 10000<vector=0,delmode=0,masked,dest=0> 0<target=0>
cpu1: CPU 1 running
wsdisplay0: screen 4 added (80x25, vt100 emulation)
XFree86 aperture driver version 2.0
Pentium Pro MTRR support enabled

----Next_Part(Mon_Jan_20_12:29:13_2003_946)----