From owner-freebsd-bugs Wed Dec 6 15: 7:52 2000 From owner-freebsd-bugs@FreeBSD.ORG Wed Dec 6 15:07:48 2000 Return-Path: Delivered-To: freebsd-bugs@freebsd.org Received: from temphost.dragondata.com (temphost.dragondata.com [63.167.131.128]) by hub.freebsd.org (Postfix) with ESMTP id 26DEC37B400; Wed, 6 Dec 2000 15:07:48 -0800 (PST) Received: (from toasty@localhost) by temphost.dragondata.com (8.9.3/8.9.3) id RAA64600; Wed, 6 Dec 2000 17:12:59 -0600 (CST) (envelope-from toasty) From: Kevin Day Message-Id: <200012062312.RAA64600@temphost.dragondata.com> Subject: New ATA code in 4.1.1+ breaks ServerWorks sym To: bugs@freebsd.org, sos@freebsd.org Date: Wed, 6 Dec 2000 17:12:54 -0600 (CST) X-Mailer: ELM [version 2.5 PL3] MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org After upgrading my Proliant ML530 server from 4.1 to 4.1.1, i got a panic on boot in the sym driver, saying "Unable to allocate IRQ resource", then a kernel trap. I narrowed down the breakage to a specific set of commits: Edit src/sys/dev/ata/ata-all.c Add delta 1.50.2.6 2000.08.22.08.41.28 sos Edit src/sys/dev/ata/ata-all.h Add delta 1.26.2.2 2000.08.22.08.41.29 sos Edit src/sys/dev/ata/ata-disk.c Add delta 1.60.2.6 2000.08.22.08.41.29 sos Edit src/sys/dev/ata/ata-dma.c Add delta 1.35.2.4 2000.08.22.08.41.29 sos Edit src/sys/dev/ata/atapi-cd.c Add delta 1.48.2.4 2000.08.22.08.41.29 sos Edit src/sys/dev/ata/atapi-cd.h Add delta 1.15.2.3 2000.08.22.08.41.29 sos MFC: Update with latest fixes from -current. ATA100 support. New improved probe. Multisector setup more restrictive ata-disk. New error recovery in ata-disk. Remove sequence checks in atapi-cd Full boot message before this commit: Copyright (c) 1992-2000 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD 4.1-RELEASE #0: Thu Jul 27 04:44:16 GMT 2000 root@usw4.freebsd.org:/usr/src/sys/compile/GENERIC Timecounter "i8254" frequency 1193182 Hz CPU: Pentium III/Pentium III Xeon/Celeron (863.93-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0x683 Stepping = 3 Features=0x383f9ff real memory = 1073725440 (1048560K bytes) avail memory = 1040642048 (1016252K bytes) Pentium Pro MTRR support enabled md0: Malloc disk npx0: on motherboard npx0: INT 16 interface pcib0: on motherboard pci0: on pcib0 pci0: (vendor=0x0e11, dev=0xa0f0) at 3.0 pci0: at 5.0 isab0: at device 15.0 on pci0 isa0: on isab0 atapci0: port 0x2400-0x240f at device 15.1 on pci0 ata0: at 0x1f0 irq 14 on atapci0 pcib2: on motherboard pci2: on pcib2 sym0: <896> port 0x3000-0x30ff mem 0xc6bfc000-0xc6bfdfff,0xc6bffc00-0xc6bfffff irq 15 at device 5.0 on pci2 sym0: Symbios NVRAM, ID 7, Fast-40, LVD, parity checking sym0: open drain IRQ line driver, using on-chip SRAM sym0: using LOAD/STORE-based firmware. sym0: handling phase mismatch from SCRIPTS. sym1: <896> port 0x3400-0x34ff mem 0xc6bf8000-0xc6bf9fff,0xc6bfbc00-0xc6bfbfff irq 15 at device 5.1 on pci2 sym1: Symbios NVRAM, ID 7, Fast-40, SE, parity checking sym1: open drain IRQ line driver, using on-chip SRAM sym1: using LOAD/STORE-based firmware. sym1: handling phase mismatch from SCRIPTS. pcib255: on motherboard pci255: on pcib255 pcib5: on motherboard pci5: on pcib5 sym2: <896> port 0x4000-0x40ff mem 0xc6ffc000-0xc6ffdfff,0xc6fffc00-0xc6ffffff irq 10 at device 4.0 on pci5 sym2: No NVRAM, ID 7, Fast-40, LVD, parity checking sym3: <896> port 0x4400-0x44ff mem 0xc6ff8000-0xc6ff9fff,0xc6ffbc00-0xc6ffbfff irq 11 at device 4.1 on pci5 sym3: No NVRAM, ID 7, Fast-40, LVD, parity checking pci5: (vendor=0x120e, dev=0x0201) at 8.0 fxp0: port 0x4880-0x48bf mem 0xc6c00000-0xc6cfffff,0xc6dff000-0xc6dfffff irq 5 at device 9.0 on pc i5 fxp0: Ethernet address 00:50:8b:af:06:b8 eisa0: on motherboard mainboard0: on eisa0 slot 0 fdc0: at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0 fdc0: FIFO enabled, 8 bytes threshold fd0: <1440-KB 3.5" drive> on fdc0 drive 0 atkbdc0: at port 0x60,0x64 on isa0 atkbd0: flags 0x1 irq 1 on atkbdc0 kbd0 at atkbd0 vga0: at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 sc0: at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0 sio0: type 16550A sio1 at port 0x2f8-0x2ff irq 3 on isa0 sio1: type 16550A ppc0: cannot reserve I/O port range ata0-slave: ata_command: timeout waiting for intr ata0-slave: identify failed acd0: CDROM at ata0-master using PIO4 Relevant boot messages after this commit: (hand typed, port/memory regions omitted) pcib0: on motherboard pci0: on pcib0 pci0: (vendor=0x0e11, dev=0xa0f0) at 3.0 pci0: at 5.0 fxp0: port 0x2400-0x243f mem=0xc800000-0xc8fffff,0xc69fd000-0xc69fdfff irq5 at device 8.0 on pci0 fxp0: Ethernet address ... isab0: at device 15.0 on pci0 isa0: on isab0 atapci0: port 0x2440-0x244f at device 15.1 on pci0 ata0: at 0x1f0 irq14 on atapci0 ata1: at 0x170 irq15 on atapci0 pcib2: on motherboard pci2: on pcib2 pci2: (vendor=0x1148, dev0x4300) at 6.0 irq 10 pcib255: on motherboard pci255: on pcib255 pcib5: on motherboard pci5: on pcib5 sym0: <896> port .... mem .... irq 11 at device 4.0 on pci5 sym0: No NVRAM, ID 7, Fast-40, LVD, parity checking sym1: <896> port .... mem .... irq 15 at device 4.1 on pci5 sym1: failed to allocate IRQ resource Fatal trap 12: page fault while in kernel mode fault virtual address = 0x0 fault code = supervisor read, page not present ... (omitted) ... panic: page fault Uptime: 0s This motherboard only has one IDE channel... at least, only one connector, and it's only designed to go to the CD-ROM. Everything else is SCSI. 4.1-RELEASE only saw the primary channel. But after that commit, it sees two channels. I don't know if this is correct or not, but the side effect is that the secondary IDE channel uses IRQ 15, which sym1 wants to use, and somehow can't share. Sym0 was sucessfully moved from 15 to 11, to avoid sharing i'm guessing... why didn't sym1 get moved, if that's the case? In any case, this breaks GENERIC on 4.1.1 and higher on Proliant ML series servers... Can someone take a look at this? I'm willing to help how I can. -- Kevin To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message