All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jamie Lokier <jamie@shareable.org>
To: Blue Swirl <blauwirbel@gmail.com>
Cc: qemu-devel@nongnu.org, Avi Kivity <avi@redhat.com>,
	Gleb Natapov <gleb@redhat.com>,
	Paul Brook <paul@codesourcery.com>
Subject: Re: [Qemu-devel] Register uhci_reset() callback.
Date: Tue, 16 Jun 2009 20:05:29 +0100	[thread overview]
Message-ID: <20090616190529.GO11893@shareable.org> (raw)
In-Reply-To: <20090616185218.GK11893@shareable.org>

Jamie Lokier wrote:
> Blue Swirl wrote:
> It's analogous to a distributed atomic transaction problem.
> 
> So you need two phases:
> 
>     - Restoring: All devices states are restored, one by one including
>       output levels of interrupt lines and GPIOs, but nothing actually
>       _happens_ when those levels are set.
> 
>     - Running: All devices start running at the same instant from
>       their restored state.  They don't need to reexamine input
>       levels, because their internal states are already consistent
>       with the input levels.
> 
> In the restoring phase, you might still use the normal functions to
> set output levels, but they would be prevented from being passed as
> changes to other devices.
> 
> Anything else might be made to work with particular PICs etc., but
> two-phase restore is what you need to work with any wiring (including
> cycles) of arbitrary devices with arbitrary states.

I should say, the above applies to both restoring saved state, and
whole system resets.

That's why real hardware has a nice long reset pulse, during which
every input change is ignored until the reset pulse is removed.

-- Jamie

  reply	other threads:[~2009-06-16 19:05 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-11  8:48 [Qemu-devel] Register uhci_reset() callback Gleb Natapov
2009-06-11 13:41 ` Paul Brook
2009-06-11 13:46   ` Gleb Natapov
2009-06-11 13:53     ` Paul Brook
2009-06-11 14:00       ` Gleb Natapov
2009-06-11 16:38         ` Jamie Lokier
2009-06-11 16:40           ` Gleb Natapov
2009-06-15 16:20             ` Avi Kivity
2009-06-16 15:00               ` Jamie Lokier
2009-06-16 15:18                 ` Avi Kivity
2009-06-16 15:43                   ` Jamie Lokier
2009-06-15 16:21     ` Avi Kivity
2009-06-15 17:02       ` Gleb Natapov
2009-06-15 17:17         ` Avi Kivity
2009-06-15 17:21           ` Gleb Natapov
2009-06-15 17:56         ` Paul Brook
2009-06-15 18:16           ` Gleb Natapov
2009-06-15 18:57             ` Blue Swirl
2009-06-15 19:30               ` Gleb Natapov
2009-06-15 19:50                 ` Blue Swirl
2009-06-15 20:05                   ` Gleb Natapov
2009-06-16 15:14                     ` Blue Swirl
2009-06-16 15:20                       ` Gleb Natapov
2009-06-16 16:54                         ` Blue Swirl
2009-06-16 17:09                           ` Gleb Natapov
2009-06-16 17:19                             ` Blue Swirl
2009-06-16 18:39                               ` Gleb Natapov
2009-06-18  9:20                               ` Avi Kivity
2009-06-16 16:54                         ` Paul Brook
2009-06-16 17:12                           ` Blue Swirl
2009-06-16 18:00                             ` Paul Brook
2009-06-16 18:10                               ` Blue Swirl
2009-06-16 18:52                                 ` Jamie Lokier
2009-06-16 19:05                                   ` Jamie Lokier [this message]
2009-06-16 19:10                                     ` Blue Swirl
2009-06-16 19:23                                       ` Gleb Natapov
2009-06-16 19:16                                   ` Paul Brook
2009-06-16 17:47                           ` Gleb Natapov
2009-06-16 17:04                 ` Paul Brook

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=20090616190529.GO11893@shareable.org \
    --to=jamie@shareable.org \
    --cc=avi@redhat.com \
    --cc=blauwirbel@gmail.com \
    --cc=gleb@redhat.com \
    --cc=paul@codesourcery.com \
    --cc=qemu-devel@nongnu.org \
    /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.