Subject: port-i386/19201: acpi(4) breaks pciide(4)
To: None <gnats-bugs@gnats.netbsd.org>
From: Matthias Scheler <tron@colwyn.zhadum.de>
List: netbsd-bugs
Date: 11/29/2002 08:55:18
>Number:         19201
>Category:       port-i386
>Synopsis:       acpi(4) breaks pciide(4)
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    port-i386-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Nov 28 23:56:00 PST 2002
>Closed-Date:
>Last-Modified:
>Originator:     
>Release:        NetBSD 1.6K
>Organization:
Matthias Scheler                                  http://scheler.de/~matthias/
>Environment:
System: NetBSD lyssa.zhadum.de 1.6K NetBSD 1.6K (LYSSA) #0: Thu Nov 28 23:13:23 CET 2002 tron@lyssa.zhadum.de:/src/sys/compile/LYSSA i386
Architecture: i386
Machine: i386

>Description:
After using ACPI instead of APM support in my kernel configuration the
the CD-RW drive connect to second onboard IDE channel stopped working.
Even a simple "eject cd0" command didn't work. Here are the kernel
message displayed during system startup:

NetBSD 1.6K (LYSSA) #0: Thu Nov 28 08:28:03 CET 2002
    tron@lyssa.zhadum.de:/src/sys/compile/LYSSA
total memory = 1023 MB
avail memory = 946 MB
using 6144 buffers containing 52504 KB of memory
BIOS32 rev. 0 found at 0xf0e90
mainbus0 (root)
cpu0 at mainbus0: (uniprocessor)
cpu0: Intel Pentium 4 (686-class), 2018.10 MHz
cpu0: features 3febfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR>
cpu0: features 3febfbff<PGE,MCA,CMOV,FGPAT,PSE36,CFLUSH,DS,ACPI,MMX>
cpu0: features 3febfbff<FXSR,SSE,SSE2,SS,HTT,TM>
cpu0: I-cache 12K uOp cache 8-way, D-cache 8 KB 64b/line 4-way
cpu0: L2 cache 512 KB 64b/line 8-way
cpu0: ITLB 4K/4M: 64 entries
cpu0: DTLB 4K/4M: 64 entries
cpu0: 16 page colors
acpi0 at mainbus0
acpi0: SCI interrupting at irq 9
acpi0: fixed-feature power button present
PNP0C0C at acpi0 not configured
PNP0C01 at acpi0 not configured
PNP0C0F at acpi0 not configured
PNP0C0F at acpi0 not configured
PNP0C0F at acpi0 not configured
PNP0C0F at acpi0 not configured
PNP0C0F at acpi0 not configured
PNP0C0F at acpi0 not configured
PNP0C0F at acpi0 not configured
PNP0A03 at acpi0 not configured
PNP0C02 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
PNP0C04 at acpi0 not configured
PNP0700 at acpi0 not configured
PNP0400 at acpi0 not configured
PNP0501 at acpi0 not configured
PNP0501 at acpi0 not configured
PNP0303 at acpi0 not configured
PNP0F13 at acpi0 not configured
PNP0C02 at acpi0 not configured
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 82845 Host (rev. 0x04)
agp0 at pchb0: aperture at 0xf8000000, size 0x4000000
ppb0 at pci0 dev 1 function 0: Intel 82845 AGP (rev. 0x04)
pci1 at ppb0 bus 1
pci1: i/o space, memory space enabled
vga0 at pci1 dev 0 function 0: ATI Technologies Radeon 8500 (rev. 0x00)
wsdisplay0 at vga0 kbdmux 1: console (80x25, vt100 emulation)
wsmux1: connecting to wsdisplay0
ppb1 at pci0 dev 30 function 0: Intel 82801BA Hub-to-PCI Bridge (rev. 0x05)
pci2 at ppb1 bus 2
pci2: i/o space, memory space enabled
epic0 at pci2 dev 9 function 0: SMC 83c170 Fast Ethernet, rev. 8
epic0: interrupting at irq 9
epic0: SMC9432FTX, Ethernet address 00:e0:29:3e:09:bc
lxtphy0 at epic0 phy 3: LXT970 10/100 media interface, rev. 3
lxtphy0: 100baseFX, 100baseFX-FDX, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
siop0 at pci2 dev 10 function 0: Symbios Logic 53c810a (fast scsi)
siop0: interrupting at irq 9
scsibus0 at siop0: 8 targets, 8 luns per target
emuxki0 at pci2 dev 11 function 0: Creative Labs SBLive! EMU 10000 (audio multimedia, revision 0x07)
emuxki0: interrupting at irq 9
emuxki0: SigmaTel STAC9708 codec; 18 bit DAC, 18 bit ADC, SigmaTel 3D
emuxki0: surround DAC
audio0 at emuxki0: full duplex, mmap, independent
joy0 at pci2 dev 11 function 1: Creative Labs PCI Gameport Joystick (rev 0x07)
joy0: joystick not connected
bktr0 at pci2 dev 12 function 0
bktr0: interrupting at irq 5
bktr0: Hauppauge Model 60114 C VM
bktr0: Detected a MSP3410D-B4 at 0x80
bktr0: Hauppauge WinCast/TV, Philips PAL I tuner, msp3400c stereo.
pcib0 at pci0 dev 31 function 0
pcib0: Intel 82801BA LPC Interface Bridge (rev. 0x05)
pciide0 at pci0 dev 31 function 1: Intel 82801BA IDE Controller (ICH2) (rev. 0x05)
pciide0: bus-master DMA support present
pciide0: primary channel wired to compatibility mode
wd0 at pciide0 channel 0 drive 0: <IC35L060AVER07-0>
wd0: drive supports 16-sector PIO transfers, LBA addressing
wd0: 58644 MB, 16383 cyl, 16 head, 63 sec, 512 bytes/sect x 120103200 sectors
wd0: 32-bit data port
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
wd1 at pciide0 channel 0 drive 1: <IC35L060AVER07-0>
wd1: drive supports 16-sector PIO transfers, LBA addressing
wd1: 58644 MB, 16383 cyl, 16 head, 63 sec, 512 bytes/sect x 120103200 sectors
wd1: 32-bit data port
wd1: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
pciide0: primary channel interrupting at irq 14
wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 5 (Ultra/100) (using DMA data transfers)
wd1(pciide0:0:1): using PIO mode 4, Ultra-DMA mode 5 (Ultra/100) (using DMA data transfers)
pciide0: secondary channel wired to compatibility mode
atapibus0 at pciide0 channel 1: 2 targets
cd0 at atapibus0 drive 0: <PLEXTOR CD-R   PX-W2410A, 379089, 1.03> 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 31 function 2: Intel 82801BA USB Controller (rev. 0x05)
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
uhci1 at pci0 dev 31 function 4: Intel 82801BA USB Controller (rev. 0x05)
uhci1: interrupting at irq 9
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
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
pms0 at pckbc0 (aux slot)
pckbc0: using irq 12 for aux slot
wsmouse0 at pms0 mux 0
lpt0 at isa0 port 0x378-0x37b irq 7
pcppi0 at isa0 port 0x61
sysbeep0 at pcppi0
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
Kernelized RAIDframe activated
IPsec: Initialized Security Association Processing.
scsibus0: waiting 2 seconds for devices to settle...
uhub2 at uhub0 port 1
uhub2: Texas Instruments TUSB2046 hub, class 9/0, rev 1.10/1.25, addr 2
uhub2: 4 ports with 4 removable, self powered
cd1 at scsibus0 target 2 lun 0: <PIONEER, DVD-ROM DVD-303, 1.09> cdrom removable
cd1: sync (100.0ns offset 8), 8-bit (10.000MB/s) transfers
boot device: wd0
root on wd0a dumps on wd0b
root file system type: ffs
epic0: lost carrier
Nov 28 23:07:21 lyssa last message repeated 3 times
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)
wsdisplay0: screen 5 added (80x25, vt100 emulation)
wsdisplay0: screen 6 added (80x25, vt100 emulation)
wsdisplay0: screen 7 added (80x25, vt100 emulation)

When I attempted to use "cd0" I got the below error message multiple
times:

pciide0:1:0: lost interrupt
	type: atapi tc_bcount: 0 tc_skip: 0

It seems that NetBSD's ACPI code somehow stops IRQ 15 from working. I
don't think this is BIOS bug because Windows XP works without problems
in ACPI mode. Furthermore Martin Husemann verified the same problem on
his system with different hardware:

NetBSD 1.6K (INSOMNIA) #4: Fri Nov 29 08:09:43 CET 2002
    martin@insomnia.duskware.de:/usr/src/sys/arch/i386/compile/INSOMNIA
total memory = 767 MB
avail memory = 709 MB
using 6144 buffers containing 39400 KB of memory
BIOS32 rev. 0 found at 0xfb290
mainbus0 (root)
mainbus0: Intel MP Specification (Version 1.4) (OEM00000 PROD00000000)
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: Intel Pentium III (Coppermine) Pentium III (686-class), 1002.36 MHz
cpu0: features 387fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR>
cpu0: features 387fbff<PGE,MCA,CMOV,FGPAT,PSE36,PN,MMX>
cpu0: features 387fbff<FXSR,SSE>
cpu0: I-cache 16 KB 32b/line 4-way, D-cache 16 KB 32b/line 4-way
cpu0: L2 cache 256 KB 32b/line 8-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: serial number 0000-0686-0002-322B-0653-DEED
cpu0: calibrating local timer
cpu0: apic clock running at 133 MHz
cpu0: 8 page colors
cpu1 at mainbus0: apid 1 (application processor)
cpu1: starting
cpu1: Intel Pentium III (Coppermine) Pentium III (686-class), 1002.28 MHz
cpu1: features 387fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR>
cpu1: features 387fbff<PGE,MCA,CMOV,FGPAT,PSE36,PN,MMX>
cpu1: features 387fbff<FXSR,SSE>
cpu1: I-cache 16 KB 32b/line 4-way, D-cache 16 KB 32b/line 4-way
cpu1: L2 cache 256 KB 32b/line 8-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: serial number 0000-0686-0002-DBCE-1145-3642
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, version 11, 24 pins
acpi0 at mainbus0
acpi0: SCI interrupting at irq 9
acpi0: fixed-feature power button present
PNP0C0C at acpi0 not configured
PNP0C0E at acpi0 not configured
PNP0C01 at acpi0 not configured
PNP0A03 at acpi0 not configured
PNP0C0F at acpi0 not configured
PNP0C0F at acpi0 not configured
PNP0C0F at acpi0 not configured
PNP0C0F 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
PNP0C04 at acpi0 not configured
PNP0700 at acpi0 not configured
PNP0501 at acpi0 not configured
PNP0501 at acpi0 not configured
PNP0400 at acpi0 not configured
PNP0303 at acpi0 not configured
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: vendor 0x1106 product 0x0691 (rev. 0xc4)
agp at pchb0 not configured
ppb0 at pci0 dev 1 function 0: vendor 0x1106 product 0x8598 (rev. 0x00)
pci1 at ppb0 bus 1
pci1: i/o space, memory space enabled
vga0 at pci1 dev 0 function 0: vendor 0x10de product 0x0250 (rev. 0xa2)
wsdisplay0 at vga0 kbdmux 1: console (80x25, vt100 emulation)
wsmux1: connecting to wsdisplay0
pcib0 at pci0 dev 7 function 0
pcib0: vendor 0x1106 product 0x0686 (rev. 0x40)
pciide0 at pci0 dev 7 function 1: VIA Technologies VT82C686A (Apollo KX133) ATA100 controller
pciide0: bus-master DMA support present
pciide0: primary channel configured to compatibility mode
wd0 at pciide0 channel 0 drive 0: <IC35L040AVER07-0>
wd0: drive supports 16-sector PIO transfers, LBA addressing
wd0: 39266 MB, 16383 cyl, 16 head, 63 sec, 512 bytes/sect x 80418240 sectors
wd0: 32-bit data port
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
pciide0: primary channel interrupting at irq 14
wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 5 (Ultra/100) (using DMA data transfers)
pciide0: secondary channel configured to compatibility mode
atapibus0 at pciide0 channel 1: 2 targets
cd0 at atapibus0 drive 0: <LG      DVD-ROM DRD-8120B, , 1.04> cdrom removable
cd0: 32-bit data port
cd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 2 (Ultra/33)
cd1 at atapibus0 drive 1: <LG CD-RW CED-8080B, 2000/07/27, 1.06> cdrom removable
cd1: 32-bit data port
cd1: drive supports PIO mode 4, DMA mode 2
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)
cd1(pciide0:1:1): using PIO mode 4, DMA mode 2 (using DMA data transfers)
uhci0 at pci0 dev 7 function 2: vendor 0x1106 product 0x3038 (rev. 0x16)
uhci0: interrupting at apic 2 int 12 (irq 12)
usb0 at uhci0: USB revision 1.0
uhub0 at usb0
uhub0: vendor 0x1106 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 7 function 3: vendor 0x1106 product 0x3038 (rev. 0x16)
uhci1: interrupting at apic 2 int 12 (irq 12)
usb1 at uhci1: USB revision 1.0
uhub1 at usb1
uhub1: vendor 0x1106 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
pchb1 at pci0 dev 7 function 4
pchb1: vendor 0x1106 product 0x3057 (rev. 0x40)
emuxki0 at pci0 dev 14 function 0: vendor 0x1102 product 0x0002 (audio multimedia, revision 0x08)
emuxki0: interrupting at apic 2 int 10 (irq 10)
emuxki0: SigmaTel STAC9721/23 codec; 18 bit DAC, 18 bit ADC, SigmaTel 3D
audio0 at emuxki0: full duplex, mmap, independent
vendor 0x1102 product 0x7002 (miscellaneous input, revision 0x08) at pci0 dev 14 function 1 not configured
tlp0 at pci0 dev 16 function 0: DECchip 21140A Ethernet, pass 2.2
tlp0: interrupting at apic 2 int 11 (irq 11)
tlp0: Ethernet address 00:e0:29:09:b0:e7
nsphy0 at tlp0 phy 3: DP83840 10/100 media interface, rev. 1
nsphy0: 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
lpt0 at isa0 port 0x378-0x37b irq 7
pcppi0 at isa0 port 0x61
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
ioapic0: enabling
uhub2 at uhub0 port 1
uhub2: vendor 0x0451 product 0x1446, class 9/0, rev 1.00/1.00, addr 2
uhub2: 4 ports with 4 removable, bus powered
uhub3 at uhub0 port 2
uhub3: vendor 0x0451 product 0x1446, class 9/0, rev 1.10/1.10, addr 3
uhub3: 4 ports with 4 removable, self powered
uhidev0 at uhub3 port 1 configuration 1 interface 0
uhidev0: Microsoft Microsoft Wheel Mouse OpticalM-., rev 1.10/1.21, addr 4, iclass 3/1
ums0 at uhidev0: 3 buttons and Z dir.
wsmouse0 at ums0 mux 0
uhidev1 at uhub3 port 3 configuration 1 interface 0
uhidev1: Microsoft Microsoft SideWinder game controller, rev 1.00/0.99, addr 5, iclass 3/0
uhid at uhidev1 not configured
uhidev2 at uhub3 port 4 configuration 1 interface 0
uhidev2: Microsoft Microsoft SideWinder game controller, rev 1.00/0.99, addr 6, iclass 3/0
uhid at uhidev2 not configured
boot device: wd0
root on wd0a dumps on wd0b
cpu1: CPU 1 running
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)


>How-To-Repeat:
Add "acpi0  at mainbus0" to your kernel configuration and try to use
an ATAPI device connected to the second onboard IDE channel e.g. by
opening a CD-ROM with "eject cd0".

>Fix:
None provided.
>Release-Note:
>Audit-Trail:
>Unformatted: