From owner-freebsd-current Sat Dec 11 1: 2:50 1999 Delivered-To: freebsd-current@freebsd.org Received: from darkstar.qx.net (darkstar.qx.net [208.235.88.101]) by hub.freebsd.org (Postfix) with ESMTP id 87EE214F98 for ; Sat, 11 Dec 1999 01:02:28 -0800 (PST) (envelope-from gchil0@pop.uky.edu) Received: from mail.qx.net (mail.qx.net [208.235.88.10]) by darkstar.qx.net (8.8.7/8.8.7) with ESMTP id EAA03203 for ; Sat, 11 Dec 1999 04:02:21 -0500 Received: from k7 ([208.200.111.71]) by mail.qx.net (Netscape Messaging Server 3.6) with ESMTP id AAA4685; Sat, 11 Dec 1999 04:05:10 -0500 Message-Id: <4.2.0.58.19991211021308.00955600@pop.uky.edu> X-Sender: gchil0@pop.uky.edu X-Mailer: QUALCOMM Windows Eudora Pro Version 4.2.0.58 Date: Sat, 11 Dec 1999 02:23:35 -0500 To: sos@freebsd.dk From: Greg Childers Subject: Re: ATA problem Cc: current@freebsd.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Hi, With a bit of investigating, I've found the problem described in my previous email quoted at the end of this message started with the commits listed below. A kernel built using sources just before these commits works fine, whereas a kernel build just after freezes after the line Mounting root from ufs:wd0s1a Hope this helps. If you need any more info, just ask. Greg sos 1999/10/09 12:57:15 PDT Modified files: sys/dev/ata ata-all.c ata-all.h ata-disk.c ata-disk.h ata-dma.c atapi-all.c atapi-all.h atapi-cd.c atapi-fd.c atapi-fd.h atapi-tape.c atapi-tape.h Log: Add support for the HPT366 chip, this is used on the Abit boards and their HotRod controller and on SIIG PCI ultra DMA controller. These changes also made lots of the Promise code go away, its all much more generic this way. Get rid of atapi_immed_cmd, instead use the queue to move atapi commands from interrupt context if nessesary, the entire atapi layer has gotten an overhaul. Lots of fixes to utililize the new features in subr_disk.c etc, and get rid of the last biots of softc arrays in the drivers, the only one left is atadevices which cannot easily go away (yet). Use our own malloc names, its a lot easier to track memory usage this way. General cleanup overall. Revision Changes Path 1.24 +191 -160 src/sys/dev/ata/ata-all.c 1.12 +21 -14 src/sys/dev/ata/ata-all.h 1.30 +57 -56 src/sys/dev/ata/ata-disk.c 1.13 +14 -5 src/sys/dev/ata/ata-disk.h 1.14 +174 -59 src/sys/dev/ata/ata-dma.c 1.18 +146 -169 src/sys/dev/ata/atapi-all.c 1.12 +25 -27 src/sys/dev/ata/atapi-all.h 1.21 +68 -92 src/sys/dev/ata/atapi-cd.c 1.21 +20 -20 src/sys/dev/ata/atapi-fd.c 1.6 +11 -11 src/sys/dev/ata/atapi-fd.h 1.18 +50 -60 src/sys/dev/ata/atapi-tape.c 1.8 +50 -50 src/sys/dev/ata/atapi-tape.h sos 1999/10/09 13:22:02 PDT Modified files: sys/conf options Log: Add the options for the ATA driver. Revision Changes Path 1.159 +5 -1 src/sys/conf/options >Hello, > >Seems now is the time to raise problems with ATA, so here goes. I have used the ATA driver >since its introduction into -current without problem until recently. A kernel from October >5 worked fine. Now, it no longer works using ATA, but works fine using the old WD drivers. >The console freezes after the dmesg and the keyboard is unresponsive. The ata info in >MYKERNEL is a direct cut and paste from GENERIC. The motherboard is an Intel Premiere/PCI >(Batman's Revenge). According to technical product summary, the primary IDE interface, on >which both my drives reside, is a PCTech RZ1000 on the PCI local bus. The secondary IDE >interface is a SMC 37C665 I/O controller on the ISA bus. Below is the relevant sections of >a verbose dmesg. If there's any additional info I can provide to help diagnose thisproblem, >please ask. > >Thanks, >Greg > >ata-pci0: at device 1.0 on pci0 >ata-pci0: Busmastering DMA not supported >ata0: iobase=0x01f0 altiobase=0x03f4 >ata0: mask=03 status0=50 status1=50 >ata0: mask=03 status0=50 status1=50 >ata0: devices = 0x3 >ata0 at 0x01f0 irq 0 on ata-pci0 > >ata-isa0: already registered as ata0 > >BIOS Geometries: > 0:020a1f3f 0..522=523 cylinders, 0..31=32 heads, 1..63=63 sectors > 1:026b3f3f 0..619=620 cylinders, 0..63=64 heads, 1..63=63 sectors > 0 accounted for >Device configuration finished. > device combination doesn't support shared irq0 > intr_connect(irq0) failed, result=-1 > >ad0: piomode=3 dmamode=1 udmamode=-1 cblid=0 >ad0: ATA-? disk at ata0 as master >ad0: 515MB (1056384 sectors), 1048 cyls, 16 heads, 63 S/T, 512 B/S >ad0: 16 secs/int, 1 depth queue, PIO >Creating DISK ad0 >Creating DISK wd0 >ad1: piomode=3 dmamode=1 udmamode=-1 cblid=0 >ad1: ATA-? disk at ata0 as slave >ad1: 1222MB (2503872 sectors), 2484 cyls, 16 heads, 63 S/T, 512 B/S >ad1: 16 secs/int, 1 depth queue, PIO >Creating DISK ad1 >Creating DISK wd1 >Mounting root from ufs:wd0s1a >wd0s1: type 0xa5, start 63, end = 1056383, size 1056321 : OK >microuptime() went backwards (1.4342530 -> 1,047990) >start_init: trying /sbin/init >ad1s1: type 0xa5, start 63, end = 2503871, size 2503809 : OK To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message