Subject: Re: Heads up: i386 MP config change
To: Frank van der Linden <fvdl@wasabisystems.com>
From: Manuel Bouyer <bouyer@antioche.lip6.fr>
List: current-users
Date: 01/10/2003 18:25:44
--tKW2IUtsqtDRztdT
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Tue, Jan 07, 2003 at 08:01:42PM +0100, Frank van der Linden wrote:
> [...]
> 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 tried it on an old dual PII system. I build a kernel from
GENERIC.MPDEBUG by commenting out 'options MPBIOS' and adding all
the ACPI options and devices:
options    ACPIVERBOSE     # verbose ACPI device autoconfig messages
ioapic* at mainbus?
options    MPACPI
acpi0              at mainbus0
options    ACPI_PCI_FIXUP=1        # PCI interrupt routing via ACPI
options    ACPI_ACTIVATE_DEV=0     # If set, activate inactive devices
acpiacad*  at acpi?                # ACPI AC Adapter
acpibat*   at acpi?                # ACPI Battery
acpibut*   at acpi?                # ACPI Button
acpiec*    at acpi?                # ACPI Embedded Controller
acpilid*   at acpi?                # ACPI Lid Switch
acpitz*    at acpi?                # ACPI Thermal Zone
com*               at acpi?                # Serial communications interface
fdc*               at acpi?                # Floppy disk controller
lpt*               at acpi?                # Parallel port
npx*               at acpi?                # Math coprocessor
pckbc*     at acpi?                # PC keyboard controller
wss*               at acpi?                # NeoMagic 256AV in wss mode
spic*              at acpi?                # Sony Programmable I/O Controller

The kernel boot fines, but the kernel finds only one CPU.
With GENERIC.MPDEBUG all works as expected.

--
Manuel Bouyer, LIP6, Universite Paris VI.           Manuel.Bouyer@lip6.fr
     NetBSD: 23 ans d'experience feront toujours la difference
--

--tKW2IUtsqtDRztdT
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename=ACPI

NetBSD 1.6L (ACPI.MPDEBUG) #0: Fri Jan 10 16:15:12 CET 2003
    bouyer@pop:/local/pop1/bouyer/current/src/sys/arch/i386/compile/ACPI.MPDEBUG
total memory = 511 MB
avail memory = 461 MB
using 6144 buffers containing 26296 KB of memory
BIOS32 rev. 0 found at 0xf0550
mainbus0 (root)
cpu0 at mainbus0: (uniprocessor)
cpu0: Intel Pentium II (686-class), 400.93 MHz, id 0x652
cpu0: features 183fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR>
cpu0: features 183fbff<PGE,MCA,CMOV,PAT,PSE36,MMX>
cpu0: features 183fbff<FXSR>
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: 32 page colors
cpu0: kstack at 0xe3146000 for 16384 bytes
cpu0: idle pcb at 0xe3146000, idle sp at 0xe3149f98
acpi0 at mainbus0
acpi0: X/RSDT: OemId <ASUS  ,P2B-DS  ,00000000>, AslId <    ,00000000>
acpi0: SCI interrupting at irq 9
acpi0: fixed-feature power button present
mpacpi: switch to APIC mode failed
ACPI Object Type 'Processor' (0x0c) at acpi0 not configured
PNP0C0F [PCI interrupt link device] at acpi0 not configured
PNP0C0F [PCI interrupt link device] at acpi0 not configured
PNP0C0F [PCI interrupt link device] at acpi0 not configured
PNP0C0F [PCI interrupt link device] at acpi0 not configured
PNP0A03 [PCI Bus] at acpi0 not configured
PNP0A00 [ISA Bus] at acpi0 not configured
PNP0C02 [Plug and Play motherboard register resources] at acpi0 not configured
PNP0C01 [System Board] at acpi0 not configured
PNP0000 [AT Interrupt Controller] at acpi0 not configured
PNP0200 [AT DMA Controller] at acpi0 not configured
PNP0100 [AT Timer] at acpi0 not configured
PNP0B00 [AT Real-Time Clock] at acpi0 not configured
PNP0800 [AT-style speaker sound] at acpi0 not configured
npx1 at acpi0 (PNP0C04)
npx1: io 0xf0-0xff irq 13
npx1: using exception 16
fdc1 at acpi0 (PNP0700)
fdc1: io 0x3f2-0x3f5,0x3f7 irq 6 drq 2
fd0 at fdc1 drive 0: density unknown
lpt3 at acpi0 (PNP0401)
lpt3: io 0x378-0x37b,0x778-0x77b irq 7 drq 3
com3 at acpi0 (PNP0501-1)
com3: io 0x3f8-0x3ff irq 4
com3: ns16550a, working fifo
com4 at acpi0 (PNP0501-2)
com4: io 0x2f8-0x2ff irq 3
com4: ns16550a, working fifo
pckbc1 at acpi0 (PNP0303): kbd port
pckbc1: io 0x60,0x64 irq 1
pckbd0 at pckbc1 (kbd slot)
pckbc1: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard
pmsprobe: reset error 5
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 0xe4000000, size 0x4000000
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
vga1 at pci1 dev 0 function 0: ATI Technologies Rage 128 GL AGP 2x (rev. 0x00)
wsdisplay0 at vga1 kbdmux 1: console (80x25, vt100 emulation), using wskbd0
wsmux1: connecting to wsdisplay0
pcib0 at pci0 dev 4 function 0
pcib0: Intel 82371AB PCI-to-ISA Bridge (PIIX4) (rev. 0x02)
pciide0 at pci0 dev 4 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: <IBM-DTTA-350840>
wd0: drive supports 16-sector PIO transfers, LBA addressing
wd0: 8063 MB, 16383 cyl, 16 head, 63 sec, 512 bytes/sect x 16514064 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
pciide0: disabling secondary channel (no drives)
uhci0 at pci0 dev 4 function 2: Intel 82371AB USB Host Controller (PIIX4) (rev. 0x01)
uhci0: interrupting at irq 10
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 4 function 3 not configured
ahc1 at pci0 dev 6 function 0
ahc1: interrupting at irq 10
ahc1: aic7890/91 Wide Channel A, SCSI Id=7, 16/255 SCBs
scsibus0 at ahc1: 16 targets, 8 luns per target
ex0 at pci0 dev 12 function 0: 3Com 3c905C-TX 10/100 Ethernet with mngmt (rev. 0x74)
ex0: interrupting at irq 11
ex0: MAC address 00:01:02:c2:92:59
bmtphy0 at ex0 phy 24: Broadcom 3c905C internal PHY, rev. 6
bmtphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
isa0 at pcib0
lptprobe: mask ff data 55 failed
lptprobe: mask ff data 55 failed
seaprobe: board type unknown at address 0xc0822000
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
cpu0: prelint0 0<vector=0,delmode=0,dest=0> 0<target=0>
cpu0: prelint1 0<vector=0,delmode=0,dest=0> 0<target=0>
cpu0: timer0 0<vector=0,delmode=0,dest=0> 0<target=0>
cpu0: pcint0 0<vector=0,delmode=0,dest=0> 0<target=0>
cpu0: lint0 0<vector=0,delmode=0,dest=0> 0<target=0>
cpu0: lint1 0<vector=0,delmode=0,dest=0> 0<target=0>
cpu0: err0 0<vector=0,delmode=0,dest=0> 0<target=0>
raidattach: Asked for 8 units
Kernelized RAIDframe activated
scsibus0: waiting 2 seconds for devices to settle...
sd0 at scsibus0 target 5 lun 0: <IOMEGA, ZIP 100, E.08> disk removable
sd0: drive offline
sd0: async, 8-bit transfers
cd0 at scsibus0 target 6 lun 0: <PIONEER, CD-ROM DR-U12X, 1.06> cdrom removable
cd0: sync (100.0ns offset 15), 8-bit (10.000MB/s) transfers
Searching for RAID components...
findroot: can't open dev sd0a (19)
boot device: wd0
root on wd0a dumps on wd0b
mountroot: trying coda...
mountroot: trying msdos...
mountroot: trying cd9660...
isofs: session offset (part 0) 0
mountroot: trying ntfs...
mountroot: trying nfs...
mountroot: trying lfs...
mountroot: trying ext2fs...
mountroot: trying ffs...
root file system type: ffs
init: copying out path `/sbin/init' 11
wsdisplay0: screen 1 added (80x25, vt100 emulation)
wsdisplay0: screen 2 added (80x25, vt100 emulation)
wsdisplay0: screen 3 added (80x25, vt100 emulation)
wsdisplay0: screen 4 added (80x25, vt100 emulation)

--tKW2IUtsqtDRztdT
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename=GENERIC

NetBSD 1.6L (GENERIC.MPDEBUG) #0: Fri Jan 10 16:28:57 CET 2003
    bouyer@pop:/local/pop1/bouyer/current/src/sys/arch/i386/compile/GENERIC.MPDEBUG
total memory = 511 MB
avail memory = 461 MB
using 6144 buffers containing 26296 KB of memory
BIOS32 rev. 0 found at 0xf0550
mainbus0 (root)
mainbus0: scanning 0x9fc00 to 0x9fff0 for MP signature
mainbus0: scanning 0xf0000 to 0xffff0 for MP signature
mainbus0: MP floating pointer found in bios at 0xf6dd0
mainbus0: MP config table at 0xf69cc, 268 bytes long
mainbus0: Intel MP Specification (Version 1.4) (OEM00000 PROD00000000)
cpu0 at mainbus0: apid 1 (boot processor)
cpu0: Intel Pentium II (686-class), 400.93 MHz, id 0x652
cpu0: features 183fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR>
cpu0: features 183fbff<PGE,MCA,CMOV,PAT,PSE36,MMX>
cpu0: features 183fbff<FXSR>
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 100 MHz
cpu0: 32 page colors
cpu0: kstack at 0xe3112000 for 16384 bytes
cpu0: idle pcb at 0xe3112000, idle sp at 0xe3115f98
cpu1 at mainbus0: apid 0 (application processor)
cpu1: starting
cpu1: Intel Pentium II (686-class), 400.91 MHz, id 0x652
cpu1: features 183fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR>
cpu1: features 183fbff<PGE,MCA,CMOV,PAT,PSE36,MMX>
cpu1: features 183fbff<FXSR>
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 0xe311e000 for 16384 bytes
cpu1: idle pcb at 0xe311e000, idle sp at 0xe3121f98
mpbios: bus 0 is type PCI   
mpbios: bus 1 is type PCI   
mpbios: bus 2 is type ISA   
ioapic0 at mainbus0 apid 2 (I/O APIC)
ioapic0: pa 0xfec00000, virtual wire mode, version 11, 24 pins
ioapic0: int0 attached to ExtINT (type 3<type=3=ExtINT> flags 0<pol=0,trig=0>)
ioapic0: int1 attached to isa0 irq 1 (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int2 attached to isa0 irq 0 (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: int9 attached to isa0 irq 9 (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: 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 pci1 device 0 INT_A (type 0<type=0> flags f<pol=3=Act Lo,trig=3=Level>)
ioapic0: int19 attached to pci0 device 4 INT_D (type 0<type=0> flags f<pol=3=Act Lo,trig=3=Level>)
ioapic0: int19 attached to pci0 device 6 INT_A (type 0<type=0> flags f<pol=3=Act Lo,trig=3=Level>)
ioapic0: int16 attached to pci0 device 12 INT_A (type 0<type=0> flags f<pol=3=Act Lo,trig=3=Level>)
local apic: int0 attached to ExtINT (type 3<type=3=ExtINT> flags 5<pol=1=Act Hi,trig=1=Edge>)
local apic: int1 attached to NMI (type 1<type=1=NMI> flags 5<pol=1=Act Hi,trig=1=Edge>)
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 0xe4000000, size 0x4000000
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
vga1 at pci1 dev 0 function 0: ATI Technologies Rage 128 GL AGP 2x (rev. 0x00)
wsdisplay0 at vga1 kbdmux 1: console (80x25, vt100 emulation)
wsmux1: connecting to wsdisplay0
pcib0 at pci0 dev 4 function 0
pcib0: Intel 82371AB PCI-to-ISA Bridge (PIIX4) (rev. 0x02)
pciide0 at pci0 dev 4 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: <IBM-DTTA-350840>
wd0: drive supports 16-sector PIO transfers, LBA addressing
wd0: 8063 MB, 16383 cyl, 16 head, 63 sec, 512 bytes/sect x 16514064 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
pciide0: disabling secondary channel (no drives)
uhci0 at pci0 dev 4 function 2: Intel 82371AB USB Host Controller (PIIX4) (rev. 0x01)
uhci0: interrupting at apic 2 int 19 (irq 10)
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 4 function 3 not configured
ahc1 at pci0 dev 6 function 0
ahc1: interrupting at apic 2 int 19 (irq 10)
ahc1: aic7890/91 Wide Channel A, SCSI Id=7, 16/255 SCBs
scsibus0 at ahc1: 16 targets, 8 luns per target
ex0 at pci0 dev 12 function 0: 3Com 3c905C-TX 10/100 Ethernet with mngmt (rev. 0x74)
ex0: interrupting at apic 2 int 16 (irq 11)
ex0: MAC address 00:01:02:c2:92:59
bmtphy0 at ex0 phy 24: Broadcom 3c905C internal PHY, rev. 6
bmtphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
isa0 at pcib0
com0 at isa0 port 0x3f8-0x3ff irq 4: ns16550a, working fifo
com1 at isa0 port 0x2f8-0x2ff irq 3: ns16550a, working fifo
pckbc0 at isa0 port 0x60-0x64
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pmsprobe: reset error 5
lpt0 at isa0 port 0x378-0x37b irq 7
lptprobe: mask ff data 55 failed
lptprobe: mask ff data 55 failed
seaprobe: board type unknown at address 0xc07ed000
pcppi0 at isa0 port 0x61
midi0 at pcppi0: PC speaker
sysbeep0 at pcppi0
isapnp0 at isa0 port 0x279: ISA Plug 'n Play device support
npx0 at isa0 port 0xf0-0xff: using exception 16
fdc0 at isa0 port 0x3f0-0x3f7 irq 6 drq 2
fd0 at fdc0 drive 0: 1.44MB, 80 cyl, 2 head, 18 sec
isapnp0: no ISA Plug 'n Play devices found
cpu0: prelint0 8700<vector=0,delmode=7,level,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 10000<vector=0,delmode=0,masked,dest=0> 0<target=0>
ioapic0: enabling
ioapic0: int1 190<vector=90,delmode=1,dest=0> 1000000<target=1>
ioapic0: int3 1d1<vector=d1,delmode=1,dest=0> 1000000<target=1>
ioapic0: int4 1d0<vector=d0,delmode=1,dest=0> 1000000<target=1>
ioapic0: int6 162<vector=62,delmode=1,dest=0> 1000000<target=1>
ioapic0: int7 191<vector=91,delmode=1,dest=0> 1000000<target=1>
ioapic0: int14 160<vector=60,delmode=1,dest=0> 1000000<target=1>
ioapic0: int16 a170<vector=70,delmode=1,actlo,level,dest=0> 1000000<target=1>
ioapic0: int19 a161<vector=61,delmode=1,actlo,level,dest=0> 1000000<target=1>
raidattach: Asked for 8 units
Kernelized RAIDframe activated
scsibus0: waiting 2 seconds for devices to settle...
sd0 at scsibus0 target 5 lun 0: <IOMEGA, ZIP 100, E.08> disk removable
sd0: drive offline
sd0: async, 8-bit transfers
cd0 at scsibus0 target 6 lun 0: <PIONEER, CD-ROM DR-U12X, 1.06> cdrom removable
cd0: sync (100.0ns offset 15), 8-bit (10.000MB/s) transfers
Searching for RAID components...
findroot: can't open dev sd0a (19)
boot device: wd0
root on wd0a dumps on wd0b
mountroot: trying coda...
mountroot: trying msdos...
mountroot: trying cd9660...
isofs: session offset (part 0) 0
mountroot: trying ntfs...
mountroot: trying nfs...
mountroot: trying lfs...
mountroot: trying ext2fs...
mountroot: trying ffs...
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 10700<vector=0,delmode=7,masked,dest=0> 0<target=0>
cpu1: lint1 400<vector=0,delmode=4,dest=0> 0<target=0>
cpu1: err0 10000<vector=0,delmode=0,masked,dest=0> 0<target=0>
cpu1: CPU 0 running
init: copying out path `/sbin/init' 11
wsdisplay0: screen 1 added (80x25, vt100 emulation)
wsdisplay0: screen 2 added (80x25, vt100 emulation)
wsdisplay0: screen 3 added (80x25, vt100 emulation)
wsdisplay0: screen 4 added (80x25, vt100 emulation)

--tKW2IUtsqtDRztdT--