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>
