Messages in this thread | | | Subject | Re: Ideas for abstracting driver IO from bus implementation? | Date | Thu, 18 Mar 1999 12:15:39 GMT | From | David Howells <> |
| |
> I2O owns entire devices on the bus. At startup you query each I2O I/O > processor and you get back things like > > "I just drive my own on card I/O stuff" > > "Im a motherboard controller, I know about your aic7xxx and your eepro100, > right now I'm configured to drive the eepro100 only" > > You may find two controllers offering to handle the eepro100, or neither. You > may prefer to run the native driver. Who "owns" a PCI device is a run time > configurable item
Am I right in thinking an I2O controller can: (a) be associated with a particular device (maybe on board physically). (b) be separate (say on the motherboard), and as such be capable of being assigned more than one device to look after (maybe at the whim of the O/S).
Am I right in thinking that attaching a PCI device to an I2O controller does not involve a renumbering of PCI devices and buses?
Does the real device still require/use I/O, IRQ, etc. resources when being driven from an I2O controller? I presume an I2O controller get resources through which it can be communicated with.
How would I handle this? Well, there're a number of possible ways:
(1) In my configuration manager, each device points to an 'interface' that implements a set of device operations (mostly to do with reconfiguring at the moment, but they do include device register accessing, and can be extended).
If, say, an I2O controller wanted to handle a device, this interface could be substituted for another which redirects accesses through the I2O controller framework.
(2) The I2O driver could steal the real device definition at an appropriate point, attach this to itself, and put forward another device definition using itself as the 'interface'.
(3) A new type of resource token could be added representing interface types and access operations. The I2O driver could then interpose its own token in front or instead of the original one.
David Howells
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |