How do I add a third ATA controller to 4.8?

Malcolm Kay malcolm.kay at internode.on.net
Mon Jan 12 01:25:59 PST 2004


On Mon, 12 Jan 2004 15:43, Paul Hoffman wrote:
> Greetings again. I have a Dell 600SC that has three ATA controllers
> on the motherboard, and I'm running 4.8 quite happily on it. The
> GENERIC kernel has the following:
>
> device      ata0    at isa? port IO_WD1 irq 14
> device      ata1    at isa? port IO_WD2 irq 15
>

I gather that these lines or for legacy isa based controllers and have little relevance
for reasonably modern machines.

A single line:

device     ata

should cope with all the ATA controllers on a current model PC.


> Since I didn't know the irq used by the third controller (it's not
> listed in their documentation, of course!), I blithely tried adding:
>
> device      ata2    at isa? port IO_WD3
>
> However, when rebuilding this kernel, I get the following error:
>
> cc -c -O -pipe  -Wall -Wredundant-decls -Wnested-externs
> -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline
> -Wcast-qual  -fformat-extensions -ansi  -nostdinc -I- -I. -I../..
> -I../../../include -I../../contrib/ipfilter  -D_KERNEL -include
> opt_global.h  -mpreferred-stack-boundary=2  ioconf.c
> ioconf.c:48: `IO_WD3' undeclared here (not in a function)
> ioconf.c:48: initializer element is not constant
> ioconf.c:48: (near initialization for `ata2_resources[1].u.longval')
> *** Error code 1
>

I suspect you are being too clever; the GENERIC kernel will
possibly find it.

(No personal experience with 3 or more ATA controllers)

Malcolm Kay



More information about the freebsd-questions mailing list