All of lore.kernel.org
 help / color / mirror / Atom feed
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.
>
>    

  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.