Subject: NetBSD -current GENERIC.MP hang
To: None <current-users@netbsd.org>
From: Milos Urbanek <urbanek@openbsd.cz>
List: current-users
Date: 12/02/2003 18:25:30
Hi,

I tried to discuss this problem at -current-users in June 2003,
I have problem running GENERIC.MP kernel with NetBSD -current (1 day old 
update from CVS). The machine hangs after enabling ioapic. Note that
when running with UP kernel, there is no such problem.

The problem is (as stated by fwdl in June 2003) with iterrupt 11
which has some weird bits set. To be more accurate, quoting Frank van der
Linden:

>I think int11 may be the culprit. It has 'pending' and 'irrpending'
>set already; sometimes this indicates that an interrupt is marked
>with the wrong polarity. In this case, that's strange, though.
>The interrupt is marked as active low, which would be correct
>for PCI. It would be strange if that board has active-high PCI
>interrupts.
>
>- Frank

Interrupt 11 is allocated to NIC. In June 2003 there was some buggy NE2000
clone in the PCI slot so I assumed it should be a side-effect of this buggy
NIC hardware. Now I have 3COM 3c905c instead but the problem is still 
present. Any idea how-to workaround this "freeze"?

Dmesg follows. Thanks in advance

Milos

6605412+142660+458908 [332096+304585]=0x77c750
Loaded initial symtab at 0xc07e0de0, strtab at 0xc0832184, # entries 13751
BIOS CFG: Model-SubM-Rev: fc-01-00, 0x74<EBDA,KBDINT,RTC,IC2>
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
    The NetBSD Foundation, Inc.  All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California.  All rights reserved.

NetBSD 1.6ZF (GENERIC.MACMP) #0: Tue Dec  2 18:01:51 MET 2003
        /usr/src/sys/arch/i386/compile/obj/GENERIC.MPDEBUG
total memory = 97916 KB
avail memory = 81864 KB
using 1249 buffers containing 4996 KB of memory
BIOS32 rev. 0 found at 0xfdb80
mainbus0 (root)
mainbus0: scanning 0x9fc00 to 0x9fff0 for MP signature
mainbus0: scanning 0x90400 to 0x907f0 for MP signature
mainbus0: scanning 0xf0000 to 0xffff0 for MP signature
mainbus0: MP floating pointer found in bios at 0xfb5c0
mainbus0: MP config table at 0xf5740, 260 bytes long
mainbus0: Intel MP Specification (Version 1.1) (INTEL    430HX       )
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: Intel Pentium (P54C) (586-class), 149.59 MHz, id 0x52c
cpu0: features 3bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,APIC>
cpu0: calibrating local timer
cpu0: apic clock running at 66 MHz
cpu0: kstack at 0xc8a52000 for 16384 bytes
cpu0: idle pcb at 0xc8a52000, idle sp at 0xc8a55f98
cpu1 at mainbus0: apid 1 (application processor)
cpu1: starting
cpu1: Intel Dual Pentium (P54C) (586-class), 166.19 MHz, id 0x252c
cpu1: features 3bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,APIC>
cpu1: kstack at 0xc8a5a000 for 16384 bytes
cpu1: idle pcb at 0xc8a5a000, idle sp at 0xc8a5df98
mpbios: bus 0 is type PCI   
mpbios: bus 1 is type ISA   
mpbios: bus 2 is type EISA  
ioapic0 at mainbus0 apid 2 (I/O APIC)
ioapic0: pa 0xfec00000, virtual wire mode, version 11, 16 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 5<pol=1=Act Hi,trig=1=Edge>)
ioapic0: int9 attached to isa0 irq 9 (type 0<type=0> flags 0<pol=0,trig=0>)
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>)
local apic: int0 attached to ExtINT (type 3<type=3=ExtINT> flags 0<pol=0,trig=0>)
local apic: int1 attached to NMI (type 1<type=1=NMI> flags 0<pol=0,trig=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 82439HX System Controller (TXC) (rev. 0x02)
pceb0 at pci0 dev 7 function 0
pceb0: Intel 82375EB/SB PCI-EISA Bridge (PCEB) (rev. 0x05)
ahc1 at pci0 dev 8 function 0: unable to map registers
vga1 at pci0 dev 9 function 0: Silicon Integrated System product 0x0204 (rev. 0x21)
wsdisplay0 at vga1 kbdmux 1
wsmux1: connecting to wsdisplay0
ex0 at pci0 dev 12 function 0: 3Com 3c905C-TX 10/100 Ethernet with mngmt (rev. 0x74)
ex0: interrupting at ioapic0 pin 11 (irq 11)
ex0: MAC address 00:04:76:97:99:70
bmtphy0 at ex0 phy 24: Broadcom 3c905C internal PHY, rev. 6
bmtphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
eisa0 at pceb0
eisa0: can't map I/O space for slot 15
isa0 at pceb0
com0 at isa0 port 0x3f8-0x3ff irq 4: ns8250 or ns16450, no fifo
com0: console
com1 at isa0 port 0x2f8-0x2ff irq 3: ns8250 or ns16450, no fifo
com1: kgdb
pckbc0 at isa0 port 0x60-0x64
pckbdprobe: reset error 5
pmsprobe: reset error 5
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
isapnp0: no ISA Plug 'n Play devices found
cpu0: prelint0 700<vector=0,delmode=7,dest=0> 0<target=0>
com1 at isa0 port 0x2f8-0x2ff irq 3: ns8250 or ns16450, no fifo
com1: kgdb
pckbc0 at isa0 port 0x60-0x64
pckbdprobe: reset error 5
pmsprobe: reset error 5
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
isapnp0: no ISA Plug 'n Play devices found
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 0<vector=0,delmode=0,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: int3 1d1<vector=d1,delmode=1,dest=0> 0<target=0>
ioapic0: int4 1d0<vector=d0,delmode=1,dest=0> 0<target=0>
ioapic0: int11 f170<vector=70,delmode=1,pending,actlo,irrpending,level,dest=0> 0<target=0>

and the machine freezes..
--