Subject: Re: apic problem with i386 cpu #2
To: john heasley <>
From: John R. Shannon <>
List: current-users
Date: 12/04/2003 13:20:38
Hash: SHA1

I think I can solve you problem for you. At least this works on my dual=20
processor Supermicro:


options         MPBIOS          # configure CPUs and APICs using MPBIOS

in addition to=20

options         MPACPI          # configure CPUs and APICs using ACPI
                                # (acpi at mainbus must also be enabled)
options         MPACPI_SCANPCI  # find PCI roots using MPACPI

Both can be used together.

On Thursday 04 December 2003 01:11 pm, you wrote:
> I'm trying to move my MP (Tyan Athlon) from 1.6L to current.  With options
> MPACPI and _SCANPCI, it is panics when trying to attach the second cpu.
> cpu0: idle pcb at 0xe4abc000, idle sp at 0xe4abff98
> cpu1 at mainbus0: apid 0 (application processor)
> cpu1: starting
> cpu1: AMD Athlon (686-class), 1200.05 MHz, id 0x662
> 	...
> cpu1: kstack at 0xe4ac8000 for 16384 bytes
> cpu1: idle pcb at 0xe4ac8000, idle sp at 0xe4acbf98
> ioapic0 at mainbus0 apid 2 (I/O APIC)
> ioapic0: pa 0xfec00000, virtual wire mode, version 11, 24 pins
> cpu2 at mainbus0panic: cpu2: running cpu is at apic 1 instead of at
> expected 0 Stopped in pid 0.1 (swapper) at netbsd:cpu_Debugger+0x4:      =
> leave db{1}> tra
> cpu_Debugger(0,0,c26efb80,c01d898a,c02ed78a) at netbsd:cpu_Debugger+0x4
> panic(c0329ca0,c26efb9c,1,0,c034308c) at netbsd:panic+0xb8
> cpu_attach(c26e8f80,c26efb80,c041ce64,c01d2791,c26efb80) at
> netbsd:cpu_attach+0x 96
> config_attach(c26e8f80,c0342db4,c041ce64,c0263d30,c26e8f80) at
> netbsd:config_att ach+0x2d9
> I don't know enough about how this is supposed to map the interrupts or
> what the consquences of cpu2 being at apic 1 are.  If the APIC gods would
> like me to try anything, it can be arranged.
> Booting with a single cpu version of that kernel appears to muck-up the
> interrupt routing, because the viaide on-board controller starts missing
> interrupts and eventually hangs.  [ I have not collected the ACPIVERBOSE;
> connected through a weasel, it is difficult to collect. ]
> viaide0:0:1: lost interrupt
>         type: ata tc_bcount: 512 tc_skip: 0
> viaide0:0:1: lost interrupt
>         type: ata tc_bcount: 512 tc_skip: 0
> 	...
> Using MPBIOS instead of MPACPI does work, at least as well as it did under
> 1.6L.  dmesg here:

=2D --=20

John R. Shannon
Version: GnuPG v1.2.3 (NetBSD)