All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Andreas Färber" <afaerber@suse.de>
To: qemu-devel@nongnu.org
Cc: "Andreas Färber" <afaerber@suse.de>
Subject: [Qemu-devel] [PULL 05/24] target-openrisc: Register VMStateDescription for OpenRISCCPU
Date: Fri, 28 Jun 2013 17:55:27 +0200	[thread overview]
Message-ID: <1372434946-18489-6-git-send-email-afaerber@suse.de> (raw)
In-Reply-To: <1372434946-18489-1-git-send-email-afaerber@suse.de>

Since commit e67db06e9f6d7e514ee2a9b9b769ecd42977f6fb (target-or32: Add
target stubs and QOM cpu) a VMStateDescription existed, but
CPU_SAVE_VERSION was not set, so it was never registered.

Drop cpu_{save,load}() and register VMStateDescription via DeviceState.
Use a version_id of 1 and specify minimum versions as well.

Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 target-openrisc/cpu.c     |  1 +
 target-openrisc/cpu.h     |  2 ++
 target-openrisc/machine.c | 27 ++++++++++++++++-----------
 3 files changed, 19 insertions(+), 11 deletions(-)

diff --git a/target-openrisc/cpu.c b/target-openrisc/cpu.c
index ffe14f3..f8703a0 100644
--- a/target-openrisc/cpu.c
+++ b/target-openrisc/cpu.c
@@ -149,6 +149,7 @@ static void openrisc_cpu_class_init(ObjectClass *oc, void *data)
 
     cc->class_by_name = openrisc_cpu_class_by_name;
     cc->do_interrupt = openrisc_cpu_do_interrupt;
+    device_class_set_vmsd(dc, &vmstate_openrisc_cpu);
 }
 
 static void cpu_register(const OpenRISCCPUInfo *info)
diff --git a/target-openrisc/cpu.h b/target-openrisc/cpu.h
index b9c55ba..aee7769 100644
--- a/target-openrisc/cpu.h
+++ b/target-openrisc/cpu.h
@@ -360,6 +360,8 @@ int cpu_openrisc_signal_handler(int host_signum, void *pinfo, void *puc);
 #define cpu_signal_handler cpu_openrisc_signal_handler
 
 #ifndef CONFIG_USER_ONLY
+extern const struct VMStateDescription vmstate_openrisc_cpu;
+
 /* hw/openrisc_pic.c */
 void cpu_openrisc_pic_init(OpenRISCCPU *cpu);
 
diff --git a/target-openrisc/machine.c b/target-openrisc/machine.c
index cba9811..6f864fe 100644
--- a/target-openrisc/machine.c
+++ b/target-openrisc/machine.c
@@ -20,8 +20,11 @@
 #include "hw/hw.h"
 #include "hw/boards.h"
 
-static const VMStateDescription vmstate_cpu = {
-    .name = "cpu",
+static const VMStateDescription vmstate_env = {
+    .name = "env",
+    .version_id = 1,
+    .minimum_version_id = 1,
+    .minimum_version_id_old = 1,
     .fields = (VMStateField[]) {
         VMSTATE_UINT32_ARRAY(gpr, CPUOpenRISCState, 32),
         VMSTATE_UINT32(sr, CPUOpenRISCState),
@@ -36,12 +39,14 @@ static const VMStateDescription vmstate_cpu = {
     }
 };
 
-void cpu_save(QEMUFile *f, void *opaque)
-{
-    vmstate_save_state(f, &vmstate_cpu, opaque);
-}
-
-int cpu_load(QEMUFile *f, void *opaque, int version_id)
-{
-    return vmstate_load_state(f, &vmstate_cpu, opaque, version_id);
-}
+const VMStateDescription vmstate_openrisc_cpu = {
+    .name = "cpu",
+    .version_id = 1,
+    .minimum_version_id = 1,
+    .minimum_version_id_old = 1,
+    .fields = (VMStateField[]) {
+        VMSTATE_CPU(),
+        VMSTATE_STRUCT(env, OpenRISCCPU, 1, vmstate_env, CPUOpenRISCState),
+        VMSTATE_END_OF_LIST()
+    }
+};
-- 
1.8.1.4

  parent reply	other threads:[~2013-06-28 15:56 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-28 15:55 [Qemu-devel] [PULL 00/24] QOM CPUState patch queue 2013-06-28 Andreas Färber
2013-06-28 15:55 ` [Qemu-devel] [PULL 01/24] cpu: Fix cpu_class_set_vmsd() documentation Andreas Färber
2013-06-28 15:55 ` [Qemu-devel] [PULL 02/24] cpu: Introduce device_class_set_vmsd() helper Andreas Färber
2013-06-28 15:55 ` [Qemu-devel] [PULL 03/24] cpu: Introduce VMSTATE_CPU() macro for CPUState Andreas Färber
2013-06-28 15:55 ` [Qemu-devel] [PULL 04/24] target-alpha: Register VMStateDescription for AlphaCPU Andreas Färber
2013-06-28 15:55 ` Andreas Färber [this message]
2013-06-28 15:55 ` [Qemu-devel] [PULL 06/24] cpu: Guard cpu_{save, load}() definitions Andreas Färber
2013-06-28 15:55 ` [Qemu-devel] [PULL 07/24] gdbstub: Simplify find_cpu() Andreas Färber
2013-06-28 15:55 ` [PULL 08/24] kvm: Change kvm_cpu_synchronize_state() argument to CPUState Andreas Färber
2013-06-28 15:55   ` [Qemu-devel] " Andreas Färber
2013-06-28 15:55 ` [PULL 09/24] kvm: Change cpu_synchronize_state() " Andreas Färber
2013-06-28 15:55   ` [Qemu-devel] " Andreas Färber
2013-06-28 15:55 ` [Qemu-devel] [PULL 10/24] cpu: Change cpu_exit() " Andreas Färber
2013-06-28 15:55 ` [Qemu-devel] [PULL 11/24] cpus: Change cpu_thread_is_idle() " Andreas Färber
2013-06-28 15:55 ` [Qemu-devel] [PULL 12/24] cpus: Change qemu_kvm_wait_io_event() " Andreas Färber
2013-06-28 15:55 ` [PULL 13/24] kvm: Change kvm_set_signal_mask() " Andreas Färber
2013-06-28 15:55   ` [Qemu-devel] " Andreas Färber
2013-06-28 15:55 ` [Qemu-devel] [PULL 14/24] cpus: Change qemu_kvm_init_cpu_signals() " Andreas Färber
2013-06-28 15:55 ` [PULL 15/24] cpu: Turn cpu_dump_{state,statistics}() into CPUState hooks Andreas Färber
2013-06-28 15:55   ` [Qemu-devel] [PULL 15/24] cpu: Turn cpu_dump_{state, statistics}() " Andreas Färber
2013-06-28 15:55 ` [PULL 16/24] kvm: Change kvm_handle_internal_error() argument to CPUState Andreas Färber
2013-06-28 15:55   ` [Qemu-devel] " Andreas Färber
2013-06-28 15:55 ` [PULL 17/24] kvm: Change kvm_cpu_exec() " Andreas Färber
2013-06-28 15:55   ` [Qemu-devel] " Andreas Färber
2013-06-28 15:55 ` [Qemu-devel] [PULL 18/24] gdbstub: Set gdb_set_stop_cpu() " Andreas Färber
2013-06-28 15:55 ` [Qemu-devel] [PULL 19/24] cpus: Change cpu_handle_guest_debug() " Andreas Färber
2013-06-28 15:55 ` [Qemu-devel] [PULL 20/24] cpus: Change qemu_kvm_start_vcpu() " Andreas Färber
2013-06-28 15:55 ` [Qemu-devel] [PULL 21/24] cpus: Change qemu_dummy_start_vcpu() " Andreas Färber
2013-06-28 15:55 ` [Qemu-devel] [PULL 22/24] cpu: Change qemu_init_vcpu() " Andreas Färber
2013-06-28 15:55 ` [Qemu-devel] [PULL 23/24] hwaddr: Make hwaddr type usable beyond softmmu Andreas Färber
2013-06-28 15:55 ` [Qemu-devel] [PULL 24/24] cpu: Turn cpu_unassigned_access() into a CPUState hook Andreas Färber

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=1372434946-18489-6-git-send-email-afaerber@suse.de \
    --to=afaerber@suse.de \
    --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.