qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v8 08/11] hw/core: deprecate old reset functions and introduc


From: Peter Maydell
Subject: Re: [PATCH v8 08/11] hw/core: deprecate old reset functions and introduce new ones
Date: Wed, 28 Apr 2021 13:51:17 +0100

On Wed, 28 Apr 2021 at 06:03, Markus Armbruster <armbru@redhat.com> wrote:
> For what it's worth, Damien further explained the two helpers in
> docs/devel/reset.rst:
>
>     For Devices and Buses, the following helper functions exist:
>
>     - ``device_cold_reset()``
>     - ``bus_cold_reset()``
>
>     These are simple wrappers around resettable_reset() function; they only 
> cast the
>     Device or Bus into an Object and pass the cold reset type. When possible
>     prefer to use these functions instead of ``resettable_reset()``.
>
> I figure what's missing is guidance on how to transition code from
> legacy reset to multi-phase reset.  Ideally with a working example
> people can study.  Damien, can you help us out?

These are two separate things:
 1) callsites which want to reset some other device, and currently
    mostly use eg device_legacy_reset() -- the transition to be done
    is to move them to use device_cold_reset(). Similarly, callsites
    which currently reset a bus with qbus_reset_all() and should move
    to bus_cold_reset().
 2) devices which implement reset and currently do so with a
    single reset method -- the transition to be done is to have
    them implement however many phases of 3-phase reset they need

(1) is easier than (2) because there are many fewer callsites
trying to manually reset devices or buses than there are
devices that implement reset.

thanks
-- PMM



reply via email to

[Prev in Thread] Current Thread [Next in Thread]