Date: Mon, 2 Feb 1998 07:39:37 -0500 From: Randall Hopper <rhh@ct.picker.com> To: hackers@FreeBSD.ORG Subject: Tertiary IDE -- not supported? Message-ID: <19980202073937.25578@ct.picker.com>
next in thread | raw e-mail | index | archive | help
I tried to build a 3.0-current kernel last night with support for a Tertiary (3rd) IDE controller (port 0x1e8, IRQ 11). After config, the kernel wouldn't build until I did some patching, and once I got it built, it wouldn't detect. Any tips on this would be appreciated. Here's the saga: ***** 1. FIRST TRY: ***** controller wdc2 at isa? port "IO_WD3" bio irq 11 flags 0xa0ffa004 vector wdintr disk wd4 at wdc2 drive 0 No dice. For some reason: #define IO_WD3 0x1e8 is missing from isa.h. "#define IO_WD4 0x168" is missing as well. (Are these non-standard?) ***** 2. SECOND TRY: ***** controller wdc2 at isa? port 0x1e8 bio irq 11 flags 0xa0ffa004 vector wdintr disk wd4 at wdc2 drive 0 This got "isa_devtab_bio[]" set right in ioconf.c, but "isa_biotab_wdc[]" had a conspicuous "(null)" in it as opposed to an acceptable port number (see below). I guess this is a bug in "config". ***** 3. THIRD TRY: ***** Touched up the generated ioconf.c and replaced the "(null)" in the corrupt isa_biotab_wdc[] entry: { -1, &wdcdriver, (null), IRQ11, -1, C 0x00000, 0, wdintr, 4, 0x0000, 0, 0, 0, 0, 1, 0, 0 }, with the correct port number for the teriary controller ("0x1e8"). This kernel did build, but wouldn't detect wdc2 when I booted it up. It occurs to me that one thing I didn't try last night is activating the IORDY jumper on the controller. I wouldn't think this'd make any difference for controller detection though. (Would it?) BTW, this is on 3.0-971208-SNAP. Thanks in advance for any input, Randall <<...snip from ioconf.c after Second Try...>> struct isa_device isa_devtab_bio[] = { /* id driver iobase irq drq maddr msiz intr unit flags s csiid alive ri_flags reconfig enabled conflicts next */ { 10, &wdcdriver, IO_WD1, IRQ14, -1, C 0x00000, 0, wdintr, 0, 0xA0FFA0 04, 0, 0, 0, 0, 1, 0, 0 }, { 11, &wdcdriver, IO_WD2, IRQ15, -1, C 0x00000, 0, wdintr, 1, 0xA0FFA0 04, 0, 0, 0, 0, 1, 0, 0 }, { 12, &wdcdriver, 0x01e8, IRQ11, -1, C 0x00000, 0, wdintr, 2, 0xA0FFA0 04, 0, 0, 0, 0, 1, 0, 0 }, { 13, &fdcdriver, IO_FD1, IRQ6, 2, C 0x00000, 0, fdintr, 0, 0x0000, 0, 0, 0, 0, 1, 0, 0 }, 0 }; struct isa_device isa_biotab_wdc[] = { /* id driver iobase irq drq maddr msiz intr unit flags drive alive ri_flags reconfig enabled conflicts next */ { -1, &wdcdriver, IO_WD1, IRQ14, -1, C 0x00000, 0, wdintr, 0, 0x0000, 0, 0, 0, 0, 1, 0, 0 }, { -1, &wdcdriver, IO_WD1, IRQ14, -1, C 0x00000, 0, wdintr, 1, 0x0000, 1, 0, 0, 0, 1, 0, 0 }, { -1, &wdcdriver, IO_WD2, IRQ15, -1, C 0x00000, 0, wdintr, 2, 0x0000, 0, 0, 0, 0, 1, 0, 0 }, { -1, &wdcdriver, IO_WD2, IRQ15, -1, C 0x00000, 0, wdintr, 3, 0x0000, 1, 0, 0, 0, 1, 0, 0 }, { -1, &wdcdriver, (null), IRQ11, -1, C 0x00000, 0, wdintr, 4, 0x0000, 0, 0, 0, 0, 1, 0, 0 }, 0 }; ^^^^^^
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19980202073937.25578>