Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 13 Oct 1995 11:19:51 -0700 (MST)
From:      Terry Lambert <terry@lambert.org>
To:        gibbs@freefall.FreeBSD.org (Justin T. Gibbs)
Cc:        julian@ref.tfs.com, terry@lambert.org, jhay@mikom.csir.co.za, hackers@FreeBSD.ORG
Subject:   Re: IPX now available
Message-ID:  <199510131819.LAA17947@phaeton.artisoft.com>
In-Reply-To: <199510130612.XAA05319@aslan.cdrom.com> from "Justin T. Gibbs" at Oct 12, 95 11:12:56 pm

next in thread | previous in thread | raw e-mail | index | archive | help
> Actually, I'd rather not have to have all of the IRQ, DRQ, ports, etc
> determined during probe.  Look at EISA or PCI devices... the probe is
> a non-intrusive determination if a card is present and what driver may
> be apporpriate for that device.  The IRQ, DRQ, and port range determination
> should only happen after we know that we have something worth talking to
> (ie the probe is successfull).  This works so long as we allow attaches
> to fail (which they could for other reasons like insufficient memory).
> I'd rather design the system to look like:
> 
> probe ()
> {
> 	minimum to determin presence of hardware

AND determine the allowable ranges for IRQ/DRQ/IO/memory this device

> }

meta_attach()
{
	create a graph of "least relocatable" to "most relocatable"
	determine desirable "location freeze" for each device
	call per device attach with location information
}

> 
> attach()
> {

> 	Determin port Addresses
> 	if (!reserve port address) {
> 		return some error code
> 	}
> 	Determine IRQ
> 	if (!Map IRQ Handler) {
> 		release port address
> 		return some error code
> 	}
> 	Register other resources...
> 	Setup the card for work
> 	Enable interrupts
> 	return success
> }
> 
> The new EISA code will follow this approach.

As should PCI, PCMCIA, and ISA if mapped using a PCI<->ISA bridge (ie: PCI
is the primary bus, ISA is the secondary).

The caveat on destructive probes (those involving triggering of interrupts,
like IN/Lance ethernet, etc.) is that they must be prevented.

A destructive probe should be limited to a "add hardware mode".  Just like
Windows 95: a user triggered event or an install triggered event that does
not repeat each boot.

A destructive probe system like this may require, in the short term, the
ability to disable the device (per the current mechanism) and in the long
term, the cooperation of the install and hardware administration tools.


					Terry Lambert
					terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.



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