qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Peter Maydell <peter.maydell@linaro.org>
To: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
Cc: "Paolo Bonzini" <pbonzini@redhat.com>,
	"Edgar Iglesias" <edgar.iglesias@xilinx.com>,
	"Mark Burton" <mark.burton@greensocs.com>,
	"QEMU Developers" <qemu-devel@nongnu.org>,
	"Alistair Francis" <alistair.francis@xilinx.com>,
	"Cédric Le Goater" <clg@kaod.org>,
	"KONRAD Frederic" <fred.konrad@greensocs.com>
Subject: Re: [Qemu-devel] [PATCH v3 00/10] Clock framework API.
Date: Thu, 15 Jun 2017 16:04:56 +0100	[thread overview]
Message-ID: <CAFEAcA-zhur3vO8G_CPQuyEU3p7e81cixiZ58sFs96e+av4Mbg@mail.gmail.com> (raw)
In-Reply-To: <20170615145742.GF4859@toto>

On 15 June 2017 at 15:57, Edgar E. Iglesias <edgar.iglesias@gmail.com> wrote:
> On Thu, Jun 15, 2017 at 03:40:40PM +0100, Peter Maydell wrote:
>> Unfortunately we make no guarantees at all about migration order
>> for devices as far as I'm aware, so devices have to cope regardless.
>
>
> How does this work for interrupts/gpios?

Interrupts/gpios (qemu_irqs) don't have any internal state,
so all that is needed is for both devices to correctly migrate
their idea of their internal state, and it doesn't matter which
order that happens in. (Typically in QEMU devices track the state
of their inbound interrupt lines even if in real hardware there's
no flop doing that.)

The difference here is that the clock objects themselves have
internal state. That's not necessarily a bad idea, but it does
mean that something's got to migrate that state or otherwise
regenerate it. (Anthony once proposed that we should change qemu_irq
objects to have internal state, because that's effectively what real
hardware is and it would save the need for each device to track its
input line state and be notified if the line didn't actually change
state. It would just have been an enormous upheaval and migration
compat break...)

thanks
-- PMM

  reply	other threads:[~2017-06-15 15:05 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-28 10:02 [Qemu-devel] [PATCH v3 00/10] Clock framework API fred.konrad
2017-02-28 10:02 ` [Qemu-devel] [PATCH v3 01/10] qemu-clk: introduce qemu-clk qom object fred.konrad
2017-02-28 10:02 ` [Qemu-devel] [PATCH v3 02/10] qemu-clk: allow to add a clock to a device fred.konrad
2017-02-28 10:02 ` [Qemu-devel] [PATCH v3 03/10] qemu-clk: allow to bind two clocks together fred.konrad
2017-02-28 10:02 ` [Qemu-devel] [PATCH v3 04/10] qemu-clk: introduce an init array to help the device construction fred.konrad
2017-02-28 10:03 ` [Qemu-devel] [PATCH v3 05/10] qdev-monitor: print the device's clock with info qtree fred.konrad
2017-02-28 10:03 ` [Qemu-devel] [PATCH v3 06/10] docs: add qemu-clock documentation fred.konrad
2017-06-15 15:44   ` Edgar E. Iglesias
2017-02-28 10:03 ` [Qemu-devel] [PATCH v3 07/10] introduce fixed-clock fred.konrad
2017-02-28 10:03 ` [Qemu-devel] [PATCH v3 08/10] introduce zynqmp_crf fred.konrad
2017-02-28 10:03 ` [Qemu-devel] [PATCH v3 09/10] zynqmp: add the zynqmp_crf to the platform fred.konrad
2017-02-28 10:03 ` [Qemu-devel] [PATCH v3 10/10] zynqmp: add reference clock fred.konrad
2017-05-24  7:35 ` [Qemu-devel] [PATCH v3 00/10] Clock framework API KONRAD Frederic
2017-06-06 15:18   ` Peter Maydell
2017-06-08  7:54     ` KONRAD Frederic
2017-06-13 10:33       ` Peter Maydell
2017-06-14 11:54         ` Paolo Bonzini
2017-06-14 13:10           ` KONRAD Frederic
2017-06-15 14:40           ` Peter Maydell
2017-06-15 14:49             ` Paolo Bonzini
2017-06-15 14:57             ` Edgar E. Iglesias
2017-06-15 15:04               ` Peter Maydell [this message]
2017-06-15 15:15                 ` Edgar E. Iglesias
2017-06-15 15:38                   ` KONRAD Frederic
2017-06-23  9:51                   ` Peter Maydell
2017-06-23 12:38                     ` KONRAD Frederic
2017-06-23 12:47                       ` Peter Maydell
2017-06-23 13:07                         ` KONRAD Frederic
2017-06-23 13:58                           ` Peter Maydell
2017-06-27  7:04                             ` KONRAD Frederic
2017-06-27  9:34                               ` Peter Maydell

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=CAFEAcA-zhur3vO8G_CPQuyEU3p7e81cixiZ58sFs96e+av4Mbg@mail.gmail.com \
    --to=peter.maydell@linaro.org \
    --cc=alistair.francis@xilinx.com \
    --cc=clg@kaod.org \
    --cc=edgar.iglesias@gmail.com \
    --cc=edgar.iglesias@xilinx.com \
    --cc=fred.konrad@greensocs.com \
    --cc=mark.burton@greensocs.com \
    --cc=pbonzini@redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).