Subject: Re: port-i386/37001 (acpi enabled kernel locks up bringing up fxp0
To: None <joerg@NetBSD.org, gnats-admin@netbsd.org, netbsd-bugs@netbsd.org,>
From: Mathias De Belder <mathias@woei.be>
List: netbsd-bugs
Date: 11/08/2007 21:05:15
The following reply was made to PR port-i386/37001; it has been noted by GNATS.

From: Mathias De Belder <mathias@woei.be>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: port-i386/37001 (acpi enabled kernel locks up bringing up fxp0
	NIC)
Date: Thu, 8 Nov 2007 22:01:25 +0100

 On Thu, Nov 08, 2007 at 08:15:11PM +0000, Joerg Sonnenberger wrote:
 >>  On Thu, Nov 08, 2007 at 07:50:03PM +0000, Mathias De Belder wrote:
 >  >  And here they are, the first one of an ACPI-enabled kernel (with rev.
 >  >  1.9 of acpi_pci_link.c):
 >  
 >  OK, this is sane. It has updated the device for the interrupt it has
 >  choosen (which was the problem in Stephen's case). But it seems like the
 >  ACPI SCI really can't be used here. Can you try the attached patch? That
 >  removes the check for reusing BIOS interrupts, which doesn't make much
 >  sense IMO.
 
 
 It is picking a different IRQ number now, but the machine still locks up
 when bringing up fxp0.  I've attached the dmesg output of boot -v and a
 pcidump with your attached patch on top of rev 1.9:
 
 
 Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
     2006, 2007
     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 4.0_RC3 (GENERIC) #2: Thu Nov  8 21:34:21 CET 2007
 	mathias@merean.lan:/usr/obj/sys/arch/i386/compile/GENERIC
 total memory = 1022 MB
 rbus: rbus_min_start set to 0x40000000
 avail memory = 994 MB
 timecounter: Timecounters tick every 10.000 msec
 timecounter: Timecounter "i8254" frequency 1193182 Hz quality 100
 Calibrating TSC clock ... TSC clock: 599520490 Hz
 BIOS32 rev. 0 found at 0xffe90
 mainbus0 (root)
 cpu0 at mainbus0: (uniprocessor)
 cpu0: Intel Pentium M (Dothan) (686-class), 599.51 MHz, id 0x6d6
 cpu0: features afe9f9bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,SEP,MTRR>
 cpu0: features afe9f9bf<PGE,MCA,CMOV,PAT,CFLUSH,DS,ACPI,MMX>
 cpu0: features afe9f9bf<FXSR,SSE,SSE2,SS,TM,SBF>
 cpu0: features2 180<EST,TM2>
 cpu0: "Intel(R) Pentium(R) M processor 1.70GHz"
 cpu0: I-cache 32 KB 64B/line 8-way, D-cache 32 KB 64B/line 8-way
 cpu0: L2 cache 2 MB 64B/line 8-way
 cpu0: using thermal monitor 2
 cpu0: Enhanced SpeedStep (988 mV) 600 MHz
 cpu0: Enhanced SpeedStep frequencies available (MHz): 1700 1400 1200 1000 800 600
 cpu0: 64 page colors
 acpi0 at mainbus0: Advanced Configuration and Power Interface
 acpi0: using Intel ACPI CA subsystem version 20060217
 acpi0: X/RSDT: OemId <DELL  , CPi R  ,27d40903>, AslId <ASL ,00000061>
 acpi0: SCI interrupting at int 9
 timecounter: Timecounter "ACPI-Fast" frequency 3579545 Hz quality 1000
 ACPI-Fast 24-bit timer
 mpacpi: could not get bus number, assuming bus 0
 LNKA: Links after initial probe:
 Link Device LNKA:
 Index  IRQ  Rtd  Ref  IRQs
     0   11   N     0  9 10 11 polarity 1 trigger 0
 
 LNKA: Links after initial validation:
 Link Device LNKA:
 Index  IRQ  Rtd  Ref  IRQs
     0   11   N     0  9 10 11 polarity 1 trigger 0
 
 LNKA: Links after disable:
 Link Device LNKA:
 Index  IRQ  Rtd  Ref  IRQs
     0   11   Y     0  9 10 11 polarity 1 trigger 0
 
 LNKA: ACPI: Found matching pin for 0.31.INTA at func 1: 0
 LNKB: Links after initial probe:
 Link Device LNKB:
 Index  IRQ  Rtd  Ref  IRQs
     0   11   N     0  5 7 polarity 1 trigger 0
 
 LNKB: Links after initial validation:
 Link Device LNKB:
 Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  5 7 polarity 1 trigger 0
 
 LNKB: Links after disable:
 Link Device LNKB:
 Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  5 7 polarity 1 trigger 0
 
 LNKB: ACPI: Found matching pin for 0.31.INTB at func 5: 11
 LNKB: BIOS IRQ 11 for 0.31.INTB is invalid
 LNKC: Links after initial probe:
 Link Device LNKC:
 Index  IRQ  Rtd  Ref  IRQs
     0   11   N     0  9 10 11 polarity 1 trigger 0
 
 LNKC: Links after initial validation:
 Link Device LNKC:
 Index  IRQ  Rtd  Ref  IRQs
     0   11   N     0  9 10 11 polarity 1 trigger 0
 
 LNKC: Links after disable:
 Link Device LNKC:
 Index  IRQ  Rtd  Ref  IRQs
     0   11   Y     0  9 10 11 polarity 1 trigger 0
 
 LNKD: Links after initial probe:
 Link Device LNKD:
 Index  IRQ  Rtd  Ref  IRQs
     0   11   N     0  5 7 9 10 11 polarity 1 trigger 0
 
 LNKD: Links after initial validation:
 Link Device LNKD:
 Index  IRQ  Rtd  Ref  IRQs
     0   11   N     0  5 7 9 10 11 polarity 1 trigger 0
 
 LNKD: Links after disable:
 Link Device LNKD:
 Index  IRQ  Rtd  Ref  IRQs
     0   11   Y     0  5 7 9 10 11 polarity 1 trigger 0
 
 LNKA: ACPI: Found matching pin for 0.29.INTA at func 0: 11
 LNKD: ACPI: Found matching pin for 0.29.INTB at func 1: 11
 LNKC: ACPI: Found matching pin for 0.29.INTC at func 2: 11
 LNKH: Links after initial probe:
 Link Device LNKH:
 Index  IRQ  Rtd  Ref  IRQs
     0   11   N     0  3 4 5 6 7 9 10 11 12 14 15 polarity 1 trigger 0
 
 LNKH: Links after initial validation:
 Link Device LNKH:
 Index  IRQ  Rtd  Ref  IRQs
     0   11   N     0  3 4 5 6 7 9 10 11 12 14 15 polarity 1 trigger 0
 
 LNKH: Links after disable:
 Link Device LNKH:
 Index  IRQ  Rtd  Ref  IRQs
     0   11   Y     0  3 4 5 6 7 9 10 11 12 14 15 polarity 1 trigger 0
 
 LNKH: ACPI: Found matching pin for 0.29.INTD at func 7: 11
 LNKA: ACPI: Found matching pin for 0.2.INTA at func 0: 11
 LNKA: ACPI: Found matching pin for 1.1.INTA at func 0: 255
 LNKD: ACPI: Found matching pin for 1.1.INTB at func 1: 11
 LNKE: Links after initial probe:
 Link Device LNKE:
 Index  IRQ  Rtd  Ref  IRQs
     0   11   N     0  3 4 5 6 7 9 10 11 12 14 15 polarity 1 trigger 0
 
 LNKE: Links after initial validation:
 Link Device LNKE:
 Index  IRQ  Rtd  Ref  IRQs
     0   11   N     0  3 4 5 6 7 9 10 11 12 14 15 polarity 1 trigger 0
 
 LNKE: Links after disable:
 Link Device LNKE:
 Index  IRQ  Rtd  Ref  IRQs
     0   11   Y     0  3 4 5 6 7 9 10 11 12 14 15 polarity 1 trigger 0
 
 LNKE: ACPI: Found matching pin for 1.8.INTA at func 0: 11
 LNKB: ACPI: Found matching pin for 1.8.INTA at func 0: 11
 LNKB: BIOS IRQ 11 for 1.8.INTA is invalid
 ACPI Object Type 'Processor' (0x0c) at acpi0 not configured
 acpiacad0 at acpi0 (ACPI0003): ACPI AC Adapter
 acpibat0 at acpi0 (PNP0C0A-1): ACPI Battery (Control Method)
 acpibat1 at acpi0 (PNP0C0A-2): ACPI Battery (Control Method)
 acpilid0 at acpi0 (PNP0C0D): ACPI Lid Switch
 acpibut0 at acpi0 (PNP0C0C): ACPI Power Button
 acpibut1 at acpi0 (PNP0C0E): ACPI Sleep Button
 PNP0C01 [System Board] at acpi0 not configured
 PNP0A03 [PCI/PCI-X Host Bridge] at acpi0 not configured
 PNP0C01 [System Board] at acpi0 not configured
 PNP0C01 [System Board] at acpi0 not configured
 pckbc1 at acpi0 (PNP0F13): aux port
 pckbc1: irq 12
 pckbc2 at acpi0 (PNP0303): kbd port
 pckbc2: io 0x60,0x64 irq 1
 PNP0B00 [AT Real-Time Clock] at acpi0 not configured
 attimer1 at acpi0 (PNP0100): AT Timer
 attimer1: io 0x40-0x43,0x50-0x53 irq 0
 pcppi1 at acpi0 (PNP0800)
 pcppi1: io 0x61,0x63,0x65,0x67
 pcppi1: children must have an explicit unit
 midi0 at pcppi1: PC speaker (CPU-intensive output)
 sysbeep0 at pcppi1
 PNP0C01 [System Board] at acpi0 not configured
 PNP0000 [AT Interrupt Controller] at acpi0 not configured
 PNP0200 [AT DMA Controller] at acpi0 not configured
 npx1 at acpi0 (PNP0C04)
 npx1: io 0xf0-0xff irq 13
 npx1: reported by CPUID; using exception 16
 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
 PNP0C0F [PCI interrupt link device] at acpi0 not configured
 PNP0C0F [PCI interrupt link device] at acpi0 not configured
 PNP0C01 [System Board] at acpi0 not configured
 acpitz0 at acpi0: ACPI Thermal Zone
 acpitz0: unable to get polling interval; using default of 30.0s
 acpitz0: passive cooling mode only
 acpitz0: critical 101.0C
 pckbd0 at pckbc2 (kbd slot)
 pckbc2: using irq 1 for kbd slot
 wskbd0 at pckbd0: console keyboard
 pms0 at pckbc2 (aux slot)
 pckbc2: using irq 12 for aux slot
 wsmouse0 at pms0 mux 0
 pcppi1: attached to attimer1
 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 82855GM Host-Hub Controller (rev. 0x02)
 agp0 at pchb0: detected 892k stolen memory
 agp0: aperture at 0xf0000000, size 0x8000000
 Intel 82855GM GMCH Memory Controller (miscellaneous system, revision 0x02) at pci0 dev 0 function 1 not configured
 Intel 82855GM GMCH Configuration Process (miscellaneous system, revision 0x02) at pci0 dev 0 function 3 not configured
 vga1 at pci0 dev 2 function 0: Intel 82855GM GMCH Integrated Graphics Device (rev. 0x02)
 wsdisplay0 at vga1 kbdmux 1: console (80x25, vt100 emulation), using wskbd0
 wsmux1: connecting to wsdisplay0
 Intel 82855GM GMCH Integrated Graphics Device (miscellaneous display, revision 0x02) at pci0 dev 2 function 1 not configured
 uhci0 at pci0 dev 29 function 0: Intel 82801DB USB UHCI Controller (rev. 0x01)
 uhci0: interrupting at irq 11
 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
 uhci1 at pci0 dev 29 function 1: Intel 82801DB USB UHCI Controller (rev. 0x01)
 uhci1: interrupting at irq 11
 usb1 at uhci1: USB revision 1.0
 uhub1 at usb1
 uhub1: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
 uhub1: 2 ports with 2 removable, self powered
 uhci2 at pci0 dev 29 function 2: Intel 82801DB USB UHCI Controller (rev. 0x01)
 uhci2: interrupting at irq 11
 usb2 at uhci2: USB revision 1.0
 uhub2 at usb2
 uhub2: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
 uhub2: 2 ports with 2 removable, self powered
 ehci0 at pci0 dev 29 function 7: Intel 82801DB USB EHCI Controller (rev. 0x01)
 ehci0: interrupting at irq 11
 ehci0: BIOS has given up ownership
 ehci0: EHCI version 1.0
 ehci0: companion controllers, 2 ports each: uhci0 uhci1 uhci2
 usb3 at ehci0: USB revision 2.0
 uhub3 at usb3
 uhub3: Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
 uhub3: 6 ports with 6 removable, self powered
 ppb0 at pci0 dev 30 function 0: Intel 82801BAM Hub-PCI Bridge (rev. 0x81)
 pci1 at ppb0 bus 1
 pci1: i/o space, memory space enabled
 cbb0 at pci1 dev 1 function 0: Texas Instruments PCI4510 PCI-CardBus Bridge w/ IEEE 1394 Host Controller (rev. 0x02)
 fwohci0 at pci1 dev 1 function 1: Texas Instruments PCI4510 IEEE 1394 Host Controller w/ PCI-CardBus Bridge (rev. 0x00)
 fwohci0: interrupting at irq 11
 fwohci0: OHCI version 1.10 (ROM=0)
 fwohci0: No. of Isochronous channels is 4.
 fwohci0: EUI64 47:4f:c0:00:2a:c1:24:30
 fwohci0: Phy 1394a available S400, 2 ports.
 fwohci0: Link S400, max_rec 2048 bytes.
 ieee1394if0 at fwohci0: IEEE1394 bus
 fwip0 at ieee1394if0: IP over IEEE1394
 fwohci0: Initiate bus reset
 fxp0 at pci1 dev 8 function 0: Intel PRO/100 VE (MOB) Network Controller, rev 129
 LNKB: Picked IRQ 5 with weight 0
 fxp0: interrupting at irq 5
 fxp0: Ethernet address 00:0f:1f:c3:3d:0b
 inphy0 at fxp0 phy 1: i82562ET 10/100 media interface, rev. 0
 inphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
 cbb0: interrupting at irq 11
 cbb0: cacheline 0x8 lattimer 0x20
 cbb0: bhlc 0x822008 lscp 0x20000000
 cbb0: secondary bus number uninitialized; try PCI_BUS_FIXUP
 cardslot0 at cbb0 slot 0 flags 0
 pcmcia0 at cardslot0
 pcib0 at pci0 dev 31 function 0
 pcib0: Intel 82801DB ISA Bridge (rev. 0x01)
 piixide0 at pci0 dev 31 function 1
 piixide0: Intel 82801DBM IDE Controller (ICH4-M) (rev. 0x01)
 piixide0: bus-master DMA support present
 piixide0: primary channel configured to compatibility mode
 piixide0: primary channel interrupting at irq 14
 atabus0 at piixide0 channel 0
 piixide0: secondary channel configured to compatibility mode
 piixide0: secondary channel interrupting at irq 15
 atabus1 at piixide0 channel 1
 auich0 at pci0 dev 31 function 5: i82801DB/DBM (ICH4/ICH4M) AC-97 Audio
 auich0: interrupting at irq 5
 auich0: ac97: SigmaTel STAC9750/51 codec; headphone, 20 bit DAC, 20 bit ADC, SigmaTel 3D
 auich0: ac97: ext id 605<AC97_22,AMAP,SPDIF,VRA>
 isa0 at pcib0
 isapnp0 at isa0 port 0x279: ISA Plug 'n Play device support
 isapnp0: no ISA Plug 'n Play devices found
 timecounter: Timecounter "TSC" frequency 599520490 Hz quality -100
 WARNING: Callback scheduled before sysmon task queue thread present.
 fwohci0: node_id=0xc800ffc0, gen=1, CYCLEMASTER mode
 ieee1394if0: 1 nodes, maxhop <= 0, cable IRM = 0 (me)
 ieee1394if0: bus manager 0 (me)
 timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
 auich0: measured ac97 link rate at 48002 Hz, will use 48000 Hz
 audio0 at auich0: full duplex, mmap, independent
 crypto: assign driver 0, flags 2
 crypto: driver 0 registers alg 1 flags 0 maxoplen 0
 crypto: driver 0 registers alg 2 flags 0 maxoplen 0
 crypto: driver 0 registers alg 3 flags 0 maxoplen 0
 crypto: driver 0 registers alg 4 flags 0 maxoplen 0
 crypto: driver 0 registers alg 5 flags 0 maxoplen 0
 crypto: driver 0 registers alg 17 flags 0 maxoplen 0
 crypto: driver 0 registers alg 6 flags 0 maxoplen 0
 crypto: driver 0 registers alg 7 flags 0 maxoplen 0
 crypto: driver 0 registers alg 15 flags 0 maxoplen 0
 crypto: driver 0 registers alg 8 flags 0 maxoplen 0
 crypto: driver 0 registers alg 16 flags 0 maxoplen 0
 crypto: driver 0 registers alg 9 flags 0 maxoplen 0
 crypto: driver 0 registers alg 10 flags 0 maxoplen 0
 crypto: driver 0 registers alg 13 flags 0 maxoplen 0
 crypto: driver 0 registers alg 14 flags 0 maxoplen 0
 crypto: driver 0 registers alg 11 flags 0 maxoplen 0
 crypto: driver 0 registers alg 18 flags 0 maxoplen 0
 uhidev0 at uhub0 port 1 configuration 1 interface 0
 uhidev0: Microsoft MicrosoftM-BM-. Digital Media Pro Keyboard, rev 2.00/1.10, addr 2, iclass 3/1
 ukbd0 at uhidev0
 wskbd1 at ukbd0 mux 1
 wskbd1: connecting to wsdisplay0
 uhidev1 at uhub0 port 1 configuration 1 interface 1
 uhidev1: Microsoft MicrosoftM-BM-. Digital Media Pro Keyboard, rev 2.00/1.10, addr 2, iclass 3/0
 uhidev1: 3 report ids
 uhid0 at uhidev1 reportid 1: input=7, output=0, feature=0
 uhid1 at uhidev1 reportid 3: input=1, output=0, feature=0
 uhidev2 at uhub1 port 1 configuration 1 interface 0
 uhidev2: B16_b_02 USB-PS/2 Optical Mouse, rev 2.00/98.02, addr 2, iclass 3/1
 ums0 at uhidev2: 8 buttons and Z dir.
 wsmouse1 at ums0 mux 0
 wd0 at atabus0 drive 0: <WDC WD800VE-00HDT0>
 wd0: drive supports 16-sector PIO transfers, LBA addressing
 wd0: 76319 MB, 155061 cyl, 16 head, 63 sec, 512 bytes/sect x 156301488 sectors
 wd0: 32-bit data port
 wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
 wd0(piixide0:0:0): using PIO mode 4, Ultra-DMA mode 5 (Ultra/100) (using DMA)
 atapibus0 at atabus1: 2 targets
 cd0 at atapibus0 drive 0: <QSI CD-RW/DVD-ROM SBW242U, , UD25> cdrom removable
 cd0: 32-bit data port
 cd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 2 (Ultra/33)
 cd0(piixide0:1:0): using PIO mode 4, Ultra-DMA mode 2 (Ultra/33) (using DMA)
 boot device: wd0
 root on wd0a dumps on wd0b
 root file system type: ffs
 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)
 
 
 
 PCI configuration registers:
   Common header:
     0x00: 0x103d8086 0x02900117 0x02000081 0x00002008
 
     Vendor Name: Intel (0x8086)
     Device Name: PRO/100 VE (MOB) Network Controller (0x103d)
     Command register: 0x0117
       I/O space accesses: on
       Memory space accesses: on
       Bus mastering: on
       Special cycles: off
       MWI transactions: on
       Palette snooping: off
       Parity error checking: off
       Address/data stepping: off
       System error (SERR): on
       Fast back-to-back transactions: off
       Interrupt disable: off
     Status register: 0x0290
       Capability List support: on
       66 MHz capable: off
       User Definable Features (UDF) support: off
       Fast back-to-back capable: on
       Data parity error detected: off
       DEVSEL timing: medium (0x1)
       Slave signaled Target Abort: off
       Master received Target Abort: off
       Master received Master Abort: off
       Asserted System Error (SERR): off
       Parity error detected: off
     Class Name: network (0x02)
     Subclass Name: ethernet (0x00)
     Interface: 0x00
     Revision ID: 0x81
     BIST: 0x00
     Header Type: 0x00 (0x00)
     Latency Timer: 0x20
     Cache Line Size: 0x08
 
   Type 0 ("normal" device) header:
     0x10: 0xfcffe000 0x0000ecc1 0x00000000 0x00000000
     0x20: 0x00000000 0x00000000 0x00000000 0x20021028
     0x30: 0x00000000 0x000000dc 0x00000000 0x38080105
 
     Base address register at 0x10
       type: 32-bit nonprefetchable memory
       base: 0xfcffe000, not sized
     Base address register at 0x14
       type: i/o
       base: 0x0000ecc0, not sized
     Base address register at 0x18
       not implemented(?)
     Base address register at 0x1c
       not implemented(?)
     Base address register at 0x20
       not implemented(?)
     Base address register at 0x24
       not implemented(?)
     Cardbus CIS Pointer: 0x00000000
     Subsystem vendor ID: 0x1028
     Subsystem ID: 0x2002
     Expansion ROM Base Address: 0x00000000
     Capability list pointer: 0xdc
     Reserved @ 0x38: 0x00000000
     Maximum Latency: 0x38
     Minimum Grant: 0x08
     Interrupt pin: 0x01 (pin A)
     Interrupt line: 0x05
 
   Capability register at 0xdc
     type: 0x01 (Power Management, rev. 1.0)
 
   Device-dependent header:
     0x40: 0x00000000 0x00000000 0x00000000 0x00000000
     0x50: 0x00000000 0x00000000 0x00000000 0x00000000
     0x60: 0x00000000 0x00000000 0x00000000 0x00000000
     0x70: 0x00000000 0x00000000 0x00000000 0x00000000
     0x80: 0x00000000 0x00000000 0x00000000 0x00000000
     0x90: 0x00000000 0x00000000 0x00000000 0x00000000
     0xa0: 0x00000000 0x00000000 0x00000000 0x00000000
     0xb0: 0x00000000 0x00000000 0x00000000 0x00000000
     0xc0: 0x00000000 0x00000000 0x00000000 0x00000000
     0xd0: 0x00000000 0x00000000 0x00000000 0xfe220001
     0xe0: 0x3a004000 0x00000000 0x00000000 0x00000000
     0xf0: 0x00000000 0x00000000 0x00000000 0x00000000
 
 
 
 Mathias