On Tue, Aug 31, 2010 at 08:58:06AM -0500, Anthony Liguori wrote: > On 08/31/2010 08:46 AM, Avi Kivity wrote: > > On 08/31/2010 04:34 PM, Anthony Liguori wrote: > >>On 08/31/2010 08:29 AM, Avi Kivity wrote: > >>>Note, for most devices there's no difference. x86 has INIT > >>>and RESET, with the keyboard controller RESET signal sometimes > >>>wired to INIT, and RAM doesn't have RESET. Otherwise most > >>>devices don't see a difference. > >> > >>Yes, that's why I'm wondering if we can just get away with using > >>a simple reset() callback and for the handful of devices that > >>don't do a full reset, they can just move the state unaffected > >>by warm reset to ->init(). > >> > > > >This seems reasonable. > > But I'm still not sure whether the reset signal can be deliver based > on a pre-order transversal or whether a custom transversal was > required that each bus participates in. > The thing is in qemu reset of one device can affect state of other device. Think about device that updates its interrupt line during reset and this affects pic/ioapic/apic. Real HW does not have a problem that we have here.
-- Gleb.