[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [PATCH 2/4] ppc: add CPU IRQ state to PPC VMStateDescript
From: |
Greg Kurz |
Subject: |
Re: [Qemu-ppc] [PATCH 2/4] ppc: add CPU IRQ state to PPC VMStateDescription |
Date: |
Mon, 11 Sep 2017 09:50:59 +0200 |
On Sun, 10 Sep 2017 15:37:33 +0100
Mark Cave-Ayland <address@hidden> wrote:
> Commit a90db15 "target-ppc: Convert ppc cpu savevm to VMStateDescription"
> appears to drop the internal CPU IRQ state from the migration stream. Whilst
> testing migration on g3beige/mac99 machines, test images would randomly fail
> to
> resume unless a key was pressed on the VGA console.
>
> Further investigation suggests that internal CPU IRQ state isn't being
> preserved and so interrupts asserted at the time of migration are lost. Adding
> the pending_interrupts and irq_input_state fields back into the migration
> stream appears to fix the problem here during local tests.
>
> As part of this commit we bump the vmstate_ppc version from 5 to 6 to handle
> the additional fields.
>
And so this unconditionally breaks backward migration... what about adding
a subsection for this ?
> Signed-off-by: Mark Cave-Ayland <address@hidden>
> ---
> target/ppc/machine.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/target/ppc/machine.c b/target/ppc/machine.c
> index e59049f..8fec1a4 100644
> --- a/target/ppc/machine.c
> +++ b/target/ppc/machine.c
> @@ -647,7 +647,7 @@ static const VMStateDescription vmstate_compat = {
>
> const VMStateDescription vmstate_ppc_cpu = {
> .name = "cpu",
> - .version_id = 5,
> + .version_id = 6,
> .minimum_version_id = 5,
> .minimum_version_id_old = 4,
> .load_state_old = cpu_load_old,
> @@ -678,6 +678,10 @@ const VMStateDescription vmstate_ppc_cpu = {
> VMSTATE_UINTTL(env.hflags_nmsr, PowerPCCPU),
> /* FIXME: access_type? */
>
> + /* Interrupt state */
> + VMSTATE_UINT32_V(env.pending_interrupts, PowerPCCPU, 6),
> + VMSTATE_UINT32_V(env.irq_input_state, PowerPCCPU, 6),
> +
> /* Sanity checking */
> VMSTATE_UINTTL_TEST(mig_msr_mask, PowerPCCPU, cpu_pre_2_8_migration),
> VMSTATE_UINT64_TEST(mig_insns_flags, PowerPCCPU,
> cpu_pre_2_8_migration),
pgpRtnwvp7PS3.pgp
Description: OpenPGP digital signature
- [Qemu-ppc] [PATCH 0/4] ppc: migration fixes for TCG, Mark Cave-Ayland, 2017/09/10
- [Qemu-ppc] [PATCH 2/4] ppc: add CPU IRQ state to PPC VMStateDescription, Mark Cave-Ayland, 2017/09/10
- Re: [Qemu-ppc] [PATCH 2/4] ppc: add CPU IRQ state to PPC VMStateDescription,
Greg Kurz <=
- Re: [Qemu-ppc] [Qemu-devel] [PATCH 2/4] ppc: add CPU IRQ state to PPC VMStateDescription, Dr. David Alan Gilbert, 2017/09/11
- Re: [Qemu-ppc] [Qemu-devel] [PATCH 2/4] ppc: add CPU IRQ state to PPC VMStateDescription, David Gibson, 2017/09/11
- Re: [Qemu-ppc] [Qemu-devel] [PATCH 2/4] ppc: add CPU IRQ state to PPC VMStateDescription, Mark Cave-Ayland, 2017/09/11
- Re: [Qemu-ppc] [Qemu-devel] [PATCH 2/4] ppc: add CPU IRQ state to PPC VMStateDescription, Dr. David Alan Gilbert, 2017/09/11
- Re: [Qemu-ppc] [Qemu-devel] [PATCH 2/4] ppc: add CPU IRQ state to PPC VMStateDescription, David Gibson, 2017/09/13
- Re: [Qemu-ppc] [Qemu-devel] [PATCH 2/4] ppc: add CPU IRQ state to PPC VMStateDescription, Dr. David Alan Gilbert, 2017/09/12
- Re: [Qemu-ppc] [Qemu-devel] [PATCH 2/4] ppc: add CPU IRQ state to PPC VMStateDescription, Mark Cave-Ayland, 2017/09/12
- Re: [Qemu-ppc] [Qemu-devel] [PATCH 2/4] ppc: add CPU IRQ state to PPC VMStateDescription, Mark Cave-Ayland, 2017/09/12
- Re: [Qemu-ppc] [Qemu-devel] [PATCH 2/4] ppc: add CPU IRQ state to PPC VMStateDescription, Alexey Kardashevskiy, 2017/09/12
- Re: [Qemu-ppc] [Qemu-devel] [PATCH 2/4] ppc: add CPU IRQ state to PPC VMStateDescription, David Gibson, 2017/09/13