qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 551747: vmstate: introduce CPU_DoubleU arrays


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 551747: vmstate: introduce CPU_DoubleU arrays
Date: Mon, 18 Jan 2016 03:00:02 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 551747491d6677e4cc6cac8750462887a09bc722
      
https://github.com/qemu/qemu/commit/551747491d6677e4cc6cac8750462887a09bc722
  Author: Juan Quintela <address@hidden>
  Date:   2016-01-16 (Sat, 16 Jan 2016)

  Changed paths:
    M include/migration/vmstate.h
    M migration/vmstate.c

  Log Message:
  -----------
  vmstate: introduce CPU_DoubleU arrays

Add vmstate support for migrating arrays of CPU_DoubleU via
VMSTATE_CPUDOUBLE_ARRAY.

Signed-off-by: Juan Quintela <address@hidden>
[PMM: rebased, since files have all moved since 2012;
 added VMSTATE_CPUDOUBLE_ARRAY_V for consistency with FLOAT64]
Signed-off-by: Peter Maydell <address@hidden>
Signed-off-by: Mark Cave-Ayland <address@hidden>


  Commit: b47d3af7559b6fe17a2a86a1f0bf69f386873753
      
https://github.com/qemu/qemu/commit/b47d3af7559b6fe17a2a86a1f0bf69f386873753
  Author: Juan Quintela <address@hidden>
  Date:   2016-01-16 (Sat, 16 Jan 2016)

  Changed paths:
    M include/migration/vmstate.h
    M migration/vmstate.c

  Log Message:
  -----------
  vmstate: Introduce VMSTATE_VARRAY_MULTPLY

This allows to send a partial array where the size is another
structure field multiplied by a constant.

Signed-off-by: Juan Quintela <address@hidden>
[PMM: updated to current master]
Signed-off-by: Peter Maydell <address@hidden>
Signed-off-by: Mark Cave-Ayland <address@hidden>


  Commit: 365162f7c09a428f16d2278e025328e73539ae8b
      
https://github.com/qemu/qemu/commit/365162f7c09a428f16d2278e025328e73539ae8b
  Author: Juan Quintela <address@hidden>
  Date:   2016-01-16 (Sat, 16 Jan 2016)

  Changed paths:
    M include/hw/hw.h

  Log Message:
  -----------
  vmstate: define vmstate_info_uinttl

We are going to define arrays of this type, so we need the integer type.

Signed-off-by: Juan Quintela <address@hidden>
[PMM: updated to apply on current QEMU; renamed to 'uinttl'
 rather than 'uinttls' to match other vmstate naming]
Signed-off-by: Peter Maydell <address@hidden>
Signed-off-by: Mark Cave-Ayland <address@hidden>


  Commit: 4552a09dd4055c806b7df8c595dc0fb8951834be
      
https://github.com/qemu/qemu/commit/4552a09dd4055c806b7df8c595dc0fb8951834be
  Author: Peter Maydell <address@hidden>
  Date:   2016-01-16 (Sat, 16 Jan 2016)

  Changed paths:
    M target-sparc/cpu.h
    M target-sparc/win_helper.c

  Log Message:
  -----------
  target-sparc: Split cpu_put_psr into side-effect and no-side-effect parts

For inbound migration we really want to be able to set the PSR without
having any side effects, but cpu_put_psr() calls cpu_check_irqs() which
might try to deliver CPU interrupts. Split cpu_put_psr() into the
no-side-effect and side-effect parts.

This includes reordering the cpu_check_irqs() to the end of cpu_put_psr(),
because that function may actually end up calling cpu_interrupt(), which
does not seem like a good thing to happen in the middle of updating the PSR.

Suggested-by: Blue Swirl <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Signed-off-by: Mark Cave-Ayland <address@hidden>


  Commit: 232afac113dab9880a5e3a002d63b61d554a4b89
      
https://github.com/qemu/qemu/commit/232afac113dab9880a5e3a002d63b61d554a4b89
  Author: Peter Maydell <address@hidden>
  Date:   2016-01-16 (Sat, 16 Jan 2016)

  Changed paths:
    M target-sparc/machine.c

  Log Message:
  -----------
  target-sparc: Don't flush TLB in cpu_load function

There's no need to flush the TLB in the SPARC cpu_load function: we're
guaranteed to be loading state into a fresh clean configuration.

Signed-off-by: Peter Maydell <address@hidden>
Signed-off-by: Mark Cave-Ayland <address@hidden>


  Commit: df32c8d436d4eb3f40b00647ca0df2bbc7f6bf6f
      
https://github.com/qemu/qemu/commit/df32c8d436d4eb3f40b00647ca0df2bbc7f6bf6f
  Author: Juan Quintela <address@hidden>
  Date:   2016-01-16 (Sat, 16 Jan 2016)

  Changed paths:
    M hw/sparc64/sun4u.c
    M target-sparc/cpu-qom.h
    M target-sparc/cpu.c
    M target-sparc/cpu.h
    M target-sparc/machine.c

  Log Message:
  -----------
  target-sparc: Convert to VMStateDescription

Convert the SPARC CPU from cpu_load/save functions to VMStateDescription.
We preserve migration compatibility with the previous version
(required for SPARC32 but not necessarily for SPARC64).

Signed-off-by: Juan Quintela <address@hidden>
[PMM:
 * Rebase and update to apply to master
 * VMSTATE_STRUCT_POINTER now takes type, not pointer-to-type
 * QEMUTimer* are migrated via VMSTATE_TIMER_PTR
 * Put CPUTimer vmstate struct inside TARGET_SPARC64 ifdef
 * Convert handling of PSR to use a vmstate_psr, like Alpha and ARM
]
Signed-off-by: Peter Maydell <address@hidden>
Signed-off-by: Mark Cave-Ayland <address@hidden>


  Commit: 0e88d45a33928445aa3031ee76af354b4f6b3088
      
https://github.com/qemu/qemu/commit/0e88d45a33928445aa3031ee76af354b4f6b3088
  Author: Peter Maydell <address@hidden>
  Date:   2016-01-16 (Sat, 16 Jan 2016)

  Changed paths:
    M target-sparc/machine.c

  Log Message:
  -----------
  target-sparc: Use VMState arrays for SPARC64 TLB/MMU state

Use VMState arrays for SPARC64 TLB/MMU state. This is
a migration-break for SPARC64 (but not for SPARC32),
which is acceptable because currently migration does not
work for any SPARC64 machines due to the lack of any migration
of interrupt controller state.

Signed-off-by: Peter Maydell <address@hidden>
Signed-off-by: Mark Cave-Ayland <address@hidden>


  Commit: 6d5322442a6904fef51a409ec40f2945581220d6
      
https://github.com/qemu/qemu/commit/6d5322442a6904fef51a409ec40f2945581220d6
  Author: Peter Maydell <address@hidden>
  Date:   2016-01-16 (Sat, 16 Jan 2016)

  Changed paths:
    M target-sparc/machine.c

  Log Message:
  -----------
  target-sparc: Migrate CWP and PIL for SPARC64

In SPARC32 the env->cwp and env->psrpil state is part of the PSR
register, and gets migrated as part of that register.
In SPARC64 this state is in separate CWP and PIL registers, but we
were not doing anything to migrate those.

Add the missing fields to the migration vmstate (which is a
migration break, but without these fields migration is completely
broken anyway).

This change means that trying a save/load of a SPARC64 target at
the boot rom prompt now produces a system which at least responds
to keyboard input after the restore.

Reported-by: Paolo Bonzini <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Signed-off-by: Mark Cave-Ayland <address@hidden>


  Commit: 4aaddc2976bff1918edcd53900b647dde473dd4d
      
https://github.com/qemu/qemu/commit/4aaddc2976bff1918edcd53900b647dde473dd4d
  Author: Peter Maydell <address@hidden>
  Date:   2016-01-18 (Mon, 18 Jan 2016)

  Changed paths:
    M hw/sparc64/sun4u.c
    M include/hw/hw.h
    M include/migration/vmstate.h
    M migration/vmstate.c
    M target-sparc/cpu-qom.h
    M target-sparc/cpu.c
    M target-sparc/cpu.h
    M target-sparc/machine.c
    M target-sparc/win_helper.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/mcayland/tags/qemu-sparc-signed' into 
staging

qemu-sparc update

# gpg: Signature made Sat 16 Jan 2016 12:32:06 GMT using RSA key ID AE0F321F
# gpg: Good signature from "Mark Cave-Ayland <address@hidden>"

* remotes/mcayland/tags/qemu-sparc-signed:
  target-sparc: Migrate CWP and PIL for SPARC64
  target-sparc: Use VMState arrays for SPARC64 TLB/MMU state
  target-sparc: Convert to VMStateDescription
  target-sparc: Don't flush TLB in cpu_load function
  target-sparc: Split cpu_put_psr into side-effect and no-side-effect parts
  vmstate: define vmstate_info_uinttl
  vmstate: Introduce VMSTATE_VARRAY_MULTPLY
  vmstate: introduce CPU_DoubleU arrays

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/19b6d8431689...4aaddc2976bf

reply via email to

[Prev in Thread] Current Thread [Next in Thread]