Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 05 May 1998 23:38:47 -0700
From:      Mike Smith <mike@smith.net.au>
To:        Archie Cobbs <archie@whistle.com>
Cc:        luigi@labinfo.iet.unipi.it (Luigi Rizzo), stefan@promo.de, freebsd-hackers@FreeBSD.ORG
Subject:   Re: ISA-PnP w\o BIOS support? 
Message-ID:  <199805060638.XAA01569@antipodes.cdrom.com>
In-Reply-To: Your message of "Tue, 05 May 1998 23:05:41 PDT." <199805060605.XAA22438@bubba.whistle.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
> > In any case there are two major problems in my view:
> > 1) to do automatic resource assignment you'd need to know which
> >    resources are available. Maybe the bios knows (more or less, since
> >    legacy isa devices with no driver cannot be easily detected, and the
> >    PnP detection of conflicts i am not sure how well it works),
> >    but i have no idea on how to fetch this info
> 
> Couldn't the config file account for all of the resources in use?
> This might require adding some "dummy" entries or .. ?

No; for starters the "resources in use" information is dynamic.

Luigi, you want the "ESCD" document from Microsoft which details how to 
extract information on systemboard resources.  You can also enumerate 
systemboard devices using the PnP BIOS.  As I mentioned before, I have 
code that does this on top of Jonathan's 16-bit BIOS call interface, 
but this is very green just now.  If you want to pick up the torch, 
talk to Jonathan, because his work is fundamental to everything we are 
discussing.  I can also give you my code to look at - it is truly 
trivial.

Start at http://www.microsoft.com/hwdev when looking for these 
documents.  If you can't find them in a format you can deal with, I 
will amass everything I have and pass them on to someone with Acrobat 
Distiller and put all the PDF versions up on www.freebsd.org.

> I mean, if the kernel doesn't know about some interrupt being used,
> then who else is using it and what the heck for? I guess I don't
> completely understand this issue.

Interrupts are not soft-configured in all cases.  If you remove lpt0
from your kernel config, the onboard hardware will still drive IRQ7. You
need to know that IRQ7 is assigned to something, and thus isn't
available for use by anything else.  You might also want to try to 
wrest the resource away from whatever owns it (eg. you have a PnP 
soundcard that the BIOS configures but you want to steal its resources).

> > 2) providing a configuration in the kernel config file via "device..."
> >    entry is hard, since a single pnp device can have 8 io ports, 2 drq, 2
> >    irq, 4 memory addresses ... how do you fit this info in the few bits
> >    available on the "device" line ?
> 
> Fix "config" to handle it. In the meantime, don't support devices
> that use more than the "normal" number of resources.

As a general rule, attempting to hard-specify resources for a PnP device
is an error.  IMHO we should not make any concessions to this mode of
operation.

-- 
\\  Sometimes you're ahead,       \\  Mike Smith
\\  sometimes you're behind.      \\  mike@smith.net.au
\\  The race is long, and in the  \\  msmith@freebsd.org
\\  end it's only with yourself.  \\  msmith@cdrom.com



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199805060638.XAA01569>