On 08/31/2010 06:00 PM, Anthony Liguori wrote:
On 08/31/2010 09:03 AM, Avi Kivity wrote:
There's no such thing as a global reset. There's a trace on the
board that's called RESET that's connected to many chip's RESET input
(but perhaps not all). A PCI bus controller will likely propagate
its RESET input into the PCI reset signal, however it's called. So
individual RESET traces are connected by chips, which have different
conditions for asserting them.
So yes, we need a custom traversal. Some bus controllers will block
off RESET completely, some will pass it through, some can reset the
devices on their bus independently of the controller's RESET input,
if it has one.
(but I think we're drifting off into pointlessness here)
That's my source of confusion. I know hardware does a custom
transversal but from a functional perspective, do we care?
So far, no one has answered this with, "yes, because device XX
propagates in a specific ordering of child a, b, c, d..." which I take
to mean that the answer is no.
I don't think there's an issue with the order of propagation, just
whether propagation takes place or not.
I'd make all bus models explicitly propagate reset if they want to.