Intro and query with configuration of device ata0 at 0x1F0 irq14 on atapci0

Josef Karthauser joe at
Tue Jan 22 19:52:08 GMT 2002

Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Tue, Jan 22, 2002 at 08:53:55PM +0000, greadey wrote:
> Hello to everyone on this list.  Let me introduce myself before I dive
> into asking questions :-).  I live in S. Wales and have been using Linux
> at home on and off for about 18 months before I got rid of Windoze all
> together (about four months ago).  To slake my thirst for new
> experiences I obtained a copy of 4.4 FreeBSD and installed it without a
> hitch (blimey what a pleasant surprise I thought).  Next job, recompile
> a new kernel - so that is where I am at now.  I need to do this to get
> my modem working on "COM4", and while I'm at it I want to get all my
> other devices hardwired into the kernel.  This is where my problem lies,

> I have a  problem configuring the following lines in the configuration
> file;
> device    ata0 at isa? port IO_WD1 IRQ14
> device    ata1 at isa? port IO_WD2 IRQ15

Take a look in /usr/src/sys/isa/isareg.h for a the definitions of
IO_WD1, etc.

> when I look at my dmesg.boot file I see the following related to the
> ata0 and ata1 devices;
> isa0 on isab0 at device 7.0 on pci0 # I mention this for context
> atapci0 port 0xe000-0xe00f at device 7.1 on pci0
> ata0 at 0x1F0 irq14 on atapci0
> ata1 at 0x170 irq15 on atapci0.
> Now I presume that IO_WD1 =3D=3D 0x1F0 and IO_WD2 =3D=3D 0x170 so no prob=
> there.  My LINT file mentions the configuration of an rp device and it
> says that if the rp device is on the pci bus then it is sufficient just
> to configure it as
> device rp

> Can I make the same assumption with my ata0 and ata1 devices and
> configure them as;
> device ata0
> device ata1; or even just
> device ata.

I know that this works in -current, but I'm not sure about stable.  Try
it and see.
> I'd be grateful if someone would clear this up for me since I want to
> nail down as much aspossible before I start experimenting with various
> options etc.

If you want things nailed down then leave the ata's as they are

Look in /usr/src/sys/i386/conf/LINT for a list of all the possible
options and for clues about your com4.

Taking a look it seems that the GENERIC kernel has:

    device          sio0    at isa? port IO_COM1 flags 0x10 irq 4
    device          sio1    at isa? port IO_COM2 irq 3
    device          sio2    at isa? disable port IO_COM3 irq 5
    device          sio3    at isa? disable port IO_COM4 irq 9

Remove the word disable for sio3 and change the irq to whatever your
device is on.  You can usually extract this from the windows device
manager if you're dual booting and have it set up on windows.

% grep IO_COM4 /usr/src/sys/isa/isareg.h
#define IO_COM4         0x2E8           /* COM4 i/o address */

You can alway put in the I/O address manually if you don't want to rely
on the IO_X definitions, or your card is in a funny place.


Content-Type: application/pgp-signature
Content-Disposition: inline

Version: GnuPG v1.0.6 (FreeBSD)
Comment: For info see



More information about the Ukfreebsd mailing list