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/