From: Anthony Liguori <anthony@codemonkey.ws>
To: Blue Swirl <blauwirbel@gmail.com>
Cc: glommer@redhat.com, qemu-devel@nongnu.org,
Isaku Yamahata <yamahata@valinux.co.jp>,
alex.williamson@redhat.com, avi@redhat.com,
Paolo Bonzini <pbonzini@redhat.com>
Subject: Re: [Qemu-devel] Re: [PATCH 5/5] RFC: distinguish warm reset from cold reset.
Date: Mon, 30 Aug 2010 14:25:44 -0500 [thread overview]
Message-ID: <4C7C05B8.5080104@codemonkey.ws> (raw)
In-Reply-To: <AANLkTikmLCKWmB=qXf+5MHHzQ0=o+qRX5nC=XwSFGewL@mail.gmail.com>
On 08/30/2010 02:16 PM, Blue Swirl wrote:
> On Mon, Aug 30, 2010 at 1:03 PM, Anthony Liguori<anthony@codemonkey.ws> wrote:
>
>> On 08/30/2010 03:50 AM, Paolo Bonzini wrote:
>>
>>> On 08/30/2010 09:49 AM, Isaku Yamahata wrote:
>>>
>>>> +/* those two functions are obsoleted by cold/warm reset API. */
>>>> [qemu_register_reset/qemu_unregister_reset]
>>>>
>>> Are they?
>>>
>> Yes, but introduce more reset functions isn't the right approach.
>>
>> Reset should be a method of the device tree, not a stand alone function.
>>
> In theory the reset tree may be very different from device tree. In
> practice the reset tree is probably very flat (global reset signal, a
> few bus reset signals) so device tree approach may get the same
> results.
>
Well the device tree doesn't really have to be a tree :-)
My thinking if we need to support custom reset propagation is that we
have the current reset() handler return 0 to propagate to children, < 0
on error, and > 0 to not propagate to direct children just as we do with
the walkers.
In the case of > 0, the device can choose to propagate to any device
that it knows about independent of the default walking order. This
makes the device tree a directed graph whereas the transversal path can
be arbitrarily custom.
The only questions in my mind are, do we truly need this and do we need
more than a single type of reset. We could make this almost arbitrarily
complicated if we wanted to but we should try to keep things simply
unless there's a compelling reason not to.
Regards,
Anthon Liguori
> IIRC on some HW ages ago the CPU could initiate an external device
> reset (without resetting the CPU) but in that case the board caused
> also CPU to be reset so it was useless.
>
> One way to model the disjoint reset trees would be to use an explicit
> qemu_irq signal for reset. It's a bit complex to set up compared to
> the almost flat tree we want though.
>
>
next prev parent reply other threads:[~2010-08-30 19:27 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-08-30 7:49 [Qemu-devel] [PATCH 0/5] RFC: distinguish warm reset from cold reset Isaku Yamahata
2010-08-30 7:49 ` [Qemu-devel] [PATCH 1/5] sysemu.h, vl.c: static'fy qemu_xxx_requested() Isaku Yamahata
2010-08-30 7:49 ` [Qemu-devel] [PATCH 2/5] vl.c: consolidate qemu_xxx_requested() logic Isaku Yamahata
2010-08-30 7:49 ` [Qemu-devel] [PATCH 3/5] vl.c: consolidate qemu_system_xxx_request() logic Isaku Yamahata
2010-08-30 7:49 ` [Qemu-devel] [PATCH 4/5] vl.c: factor out qemu_reguster/unregister_reset() Isaku Yamahata
2010-08-30 7:49 ` [Qemu-devel] [PATCH 5/5] RFC: distinguish warm reset from cold reset Isaku Yamahata
2010-08-30 8:50 ` [Qemu-devel] " Paolo Bonzini
2010-08-30 9:38 ` Isaku Yamahata
2010-08-30 9:31 ` Paolo Bonzini
2010-08-30 13:03 ` Anthony Liguori
2010-08-30 19:16 ` Blue Swirl
2010-08-30 19:25 ` Anthony Liguori [this message]
2010-08-30 19:36 ` Blue Swirl
2010-08-30 20:10 ` Anthony Liguori
2010-08-30 12:59 ` Anthony Liguori
2010-08-31 2:58 ` Isaku Yamahata
2010-08-31 13:08 ` Anthony Liguori
2010-08-31 13:14 ` Gleb Natapov
2010-08-31 13:20 ` Anthony Liguori
2010-08-31 13:21 ` Gleb Natapov
2010-08-31 13:26 ` Anthony Liguori
2010-08-31 13:29 ` Avi Kivity
2010-08-31 13:34 ` Anthony Liguori
2010-08-31 13:46 ` Avi Kivity
2010-08-31 13:58 ` Anthony Liguori
2010-08-31 14:03 ` Gleb Natapov
2010-08-31 14:03 ` Avi Kivity
2010-08-31 15:00 ` Anthony Liguori
2010-08-31 16:04 ` Avi Kivity
2010-08-31 13:35 ` Gleb Natapov
2010-08-30 7:59 ` [Qemu-devel] Re: [PATCH 0/5] " Avi Kivity
2010-08-30 8:35 ` Isaku Yamahata
2010-08-30 11:19 ` Gleb Natapov
2010-08-30 13:05 ` Anthony Liguori
2010-08-30 13:15 ` Gleb Natapov
2010-08-30 19:07 ` Blue Swirl
2010-08-31 5:26 ` Gleb Natapov
2010-08-30 13:04 ` Glauber Costa
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4C7C05B8.5080104@codemonkey.ws \
--to=anthony@codemonkey.ws \
--cc=alex.williamson@redhat.com \
--cc=avi@redhat.com \
--cc=blauwirbel@gmail.com \
--cc=glommer@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=yamahata@valinux.co.jp \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.