On 25 July 2011 02:44, Anthony Liguori <aligu...@us.ibm.com> wrote:
> Device is meant to replace DeviceState as the root class for the device model.
> This is included here merely as a RFC.  Device adds a couple of useful 
> features.
>
> 1) Default hard reset.  Device will literally call finalize on the object and
>   then reinitialize it in place.  This means that most devices don't have to
>   worry about implementing reset logic.

I like having a reset implemented as "just reinstantiate everything", but
this only really covers one of the different reset flavours ("simulation
reset", ie "give me a system in the same state as if I'd just started
qemu from scratch"). I think devices are still going to need to implement
"simulated reset", which is what they do when the core causes a simulated
reset signal to go active (and which ought really to be implemented by
having an incoming gpio signal 'reset'). The two are not always identical,
and you don't necessarily want to reset the whole of the model at once...
(And then some devices have another level of 'soft reset' which you get
by writing to one of its registers.)

...all of which isn't particularly relevant to the object/device model,
but I just wanted to say "reset isn't quite that simple" :-)

-- PMM

Reply via email to