On Tue, 30 Jul 2019 16:08:59 +0200 Damien Hedde <damien.he...@greensocs.com> wrote:
> On 7/30/19 3:59 PM, Peter Maydell wrote: > > On Tue, 30 Jul 2019 at 14:56, Cornelia Huck <coh...@redhat.com> wrote: > >> > >> On Tue, 30 Jul 2019 14:44:21 +0100 > >> Peter Maydell <peter.mayd...@linaro.org> wrote: > >> > >>> On Tue, 30 Jul 2019 at 14:42, Cornelia Huck <coh...@redhat.com> wrote: > >>>> I'm having a hard time figuring out what a 'cold' or a 'warm' reset is > >>>> supposed to be... can you add a definition/guideline somewhere? > >>> > >>> Generally "cold" reset is "power on" and "warm" is "we were already > >>> powered-on, but somebody flipped a reset line somewhere". > >> > >> Ok, that makes sense... my main concern is to distinguish that in a > >> generic way, as it is a generic interface. What about adding something > >> like: > >> > >> "A 'cold' reset means that the object to be reset is initially reset; a > >> 'warm' > >> reset means that the object to be reset has already been initialized." > >> > >> Or is that again too generic? > > > > I think it doesn't quite capture the idea -- an object can have already > > been reset and then get a 'cold' reset: this is like having a powered-on > > machine and then power-cycling it. > > > > The 'warm' reset is the vaguer one, because the specific behaviour > > is somewhat device-dependent (many devices might not have any > > difference from 'cold' reset, for those that do the exact detail > > of what doesn't get reset on warm-reset will vary). But every > > device should have some kind of "as if you power-cycled it" (or > > for QEMU, "go back to the same state as if you just started QEMU on the > > command line"). Our current "reset" method is really cold-reset. Ah ok, that makes sense. > > > > Exactly. In the following patches, I've tried to replace existing reset > calls by cold or warm reset depending on whether: > + it is called through the main system reset -> cold > + it is called during normal life-time -> warm > > But I definitely can add some docs/comments to better explain that. Yes, that would be great; I think I now understand enough for looking at the patches.