*BSD News Article 34000


Return to BSD News archive

Xref: sserve comp.os.386bsd.questions:12150 comp.os.386bsd.misc:3080
Path: sserve!newshost.anu.edu.au!harbinger.cc.monash.edu.au!bunyip.cc.uq.oz.au!munnari.oz.au!spool.mu.edu!howland.reston.ans.net!math.ohio-state.edu!scipio.cyberstore.ca!vanbc.wimsey.com!unixg.ubc.ca!quartz.ucs.ualberta.ca!acs.ucalgary.ca!cpsc.ucalgary.ca!xenlink!fsa.ca!deraadt
From: deraadt@fsa.ca (Theo de Raadt)
Newsgroups: comp.os.386bsd.questions,comp.os.386bsd.misc
Subject: Re: BT445C == No FreeBSD???
Date: 06 Aug 1994 22:59:13 GMT
Organization: little lizard city
Lines: 52
Message-ID: <DERAADT.94Aug6165915@newt.fsa.ca>
References: <31vk03$mdk@tekgen.bv.tek.com> <31vs36$qgv@tekgen.bv.tek.com>
	<Cu4w68.99B@tfs.com>
NNTP-Posting-Host: newt.fsa.ca
In-reply-to: julian@tfs.com's message of Sat, 6 Aug 1994 22:08:32 GMT

In article <Cu4w68.99B@tfs.com> julian@tfs.com (Julian Elischer) writes:
   the kernel is configured to use a different interrupt to that the board
   is configured for....

   check the interupt for the standard kernel, (I don't have one here) and
   set the board to match....

I've decided to describe how the new NetBSD deals with this issue. I
think it rather neat, and also worthwhile for people to know about.

My kernel config file says:

    controller      bt0     at isa? port 0x330 irq ?

My bt742 controller is at port 0x330. I've not defined what irq that
the card is at -- the kernel will figure that out at boot time:

    bt0 at isa0 port 0x330-0x333 irq 11: version 3.3, async, parity, 32 mbxs
    scsibus0 at bt0

The device probe routine asked the controller, which said that it is
using irq 11. Everything is happy.

My config file also contains these three lines:

    device          ep0 at isa? port ? irq ?
    device          ep1 at isa? port ? irq ?
    device          ep2 at isa? port ? irq ?

This defines up to 3 3c509/3579 ethernet cards, and doesn't say what
ports or irqs they are at. The kernel boots:

    ep0 at isa0 port 0x6000-0x600f irq 3: aui address 00:60:8c:70:e5:c5
    ep1 at isa0 port 0x300-0x30f irq 3: aui/bnc/utp address 00:20:af:10:62:ab

... and finds two cards, the ports they are at, and their irqs.  The
first one is an EISA card (that is why the port is so high. The card
is in slot 6).


You can ask some devices what irq they are at; others can tell you
what drq they are at. A few, like the `ep', can also tell you the
port.  All EISA cards are indexed by their slot, so their port can
also be ?.

Not all devices are flexible enough to support this, but many of the
more sophisticated ones are (ie. almost all good SCSI controllers).
Most stupid devices tell you nothing, then you have to do like this:

    controller      fdc0    at isa? port 0x3f0 irq 6 drq 2
--
This space not left unintentionally unblank.		deraadt@fsa.ca