qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Juan Quintela <quintela@redhat.com>
To: qemu-devel@nongnu.org
Subject: [Qemu-devel] [PATCH 20/26] vmstate: port pckbd device
Date: Thu, 10 Sep 2009 03:04:41 +0200	[thread overview]
Message-ID: <6ff1ce2455ddd7dd4573ea95a5b11609b71aa6bc.1252543872.git.quintela@redhat.com> (raw)
In-Reply-To: <cover.1252543871.git.quintela@redhat.com>
In-Reply-To: <cover.1252543871.git.quintela@redhat.com>


Signed-off-by: Juan Quintela <quintela@redhat.com>
---
 hw/pckbd.c |   41 ++++++++++++++++-------------------------
 1 files changed, 16 insertions(+), 25 deletions(-)

diff --git a/hw/pckbd.c b/hw/pckbd.c
index 3f83320..f119a33 100644
--- a/hw/pckbd.c
+++ b/hw/pckbd.c
@@ -339,28 +339,19 @@ static void kbd_reset(void *opaque)
     s->status = KBD_STAT_CMD | KBD_STAT_UNLOCKED;
 }

-static void kbd_save(QEMUFile* f, void* opaque)
-{
-    KBDState *s = (KBDState*)opaque;
-
-    qemu_put_8s(f, &s->write_cmd);
-    qemu_put_8s(f, &s->status);
-    qemu_put_8s(f, &s->mode);
-    qemu_put_8s(f, &s->pending);
-}
-
-static int kbd_load(QEMUFile* f, void* opaque, int version_id)
-{
-    KBDState *s = (KBDState*)opaque;
-
-    if (version_id != 3)
-        return -EINVAL;
-    qemu_get_8s(f, &s->write_cmd);
-    qemu_get_8s(f, &s->status);
-    qemu_get_8s(f, &s->mode);
-    qemu_get_8s(f, &s->pending);
-    return 0;
-}
+static const VMStateDescription vmstate_kbd = {
+    .name = "pckbd",
+    .version_id = 3,
+    .minimum_version_id = 3,
+    .minimum_version_id_old = 3,
+    .fields      = (VMStateField []) {
+        VMSTATE_UINT8(write_cmd, KBDState),
+        VMSTATE_UINT8(status, KBDState),
+        VMSTATE_UINT8(mode, KBDState),
+        VMSTATE_UINT8(pending, KBDState),
+        VMSTATE_END_OF_LIST()
+    }
+};

 void i8042_init(qemu_irq kbd_irq, qemu_irq mouse_irq, uint32_t io_base)
 {
@@ -370,7 +361,7 @@ void i8042_init(qemu_irq kbd_irq, qemu_irq mouse_irq, uint32_t io_base)
     s->irq_mouse = mouse_irq;

     kbd_reset(s);
-    register_savevm("pckbd", 0, 3, kbd_save, kbd_load, s);
+    vmstate_register(0, &vmstate_kbd, s);
     register_ioport_read(io_base, 1, 1, kbd_read_data, s);
     register_ioport_write(io_base, 1, 1, kbd_write_data, s);
     register_ioport_read(io_base + 4, 1, 1, kbd_read_status, s);
@@ -429,7 +420,7 @@ void i8042_mm_init(qemu_irq kbd_irq, qemu_irq mouse_irq,
     s->mask = mask;

     kbd_reset(s);
-    register_savevm("pckbd", 0, 3, kbd_save, kbd_load, s);
+    vmstate_register(0, &vmstate_kbd, s);
     s_io_memory = cpu_register_io_memory(kbd_mm_read, kbd_mm_write, s);
     cpu_register_physical_memory(base, size, s_io_memory);

@@ -454,7 +445,7 @@ static int i8042_initfn(ISADevice *dev)
     isa_init_irq(dev, &s->irq_mouse);

     kbd_reset(s);
-    register_savevm("pckbd", 0, 3, kbd_save, kbd_load, s);
+    vmstate_register(0, &vmstate_kbd, s);
     register_ioport_read(dev->iobase[0], 1, 1, kbd_read_data, s);
     register_ioport_write(dev->iobase[0], 1, 1, kbd_write_data, s);
     register_ioport_read(dev->iobase[1], 1, 1, kbd_read_status, s);
-- 
1.6.2.5

  parent reply	other threads:[~2009-09-10  1:05 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-09-10  1:04 [Qemu-devel] [PATCH 00/26] VMState: port several pc devices to vmstate Juan Quintela
2009-09-10  1:04 ` [Qemu-devel] [PATCH 01/26] ram: remove support for loading v1 Juan Quintela
2009-09-10  1:04 ` [Qemu-devel] [PATCH 02/26] ram: Remove SaveVM Version 2 support Juan Quintela
2009-09-10  1:04 ` [Qemu-devel] [PATCH 03/26] Remove SaveVM v2 support Juan Quintela
2009-09-10 17:41   ` Stefano Stabellini
2009-09-10 17:43     ` [Qemu-devel] " Juan Quintela
2009-09-10 18:15       ` Stefano Stabellini
2009-09-10 18:22         ` Anthony Liguori
2009-09-11 14:05           ` Stefano Stabellini
2009-09-11 14:28             ` Juan Quintela
2009-09-11 15:32               ` Stefano Stabellini
2009-09-11 15:37                 ` Anthony Liguori
2009-09-11 15:48                 ` Juan Quintela
2009-09-11 17:59                   ` Stefano Stabellini
2009-09-17 11:40                   ` Stefano Stabellini
2009-09-10  1:04 ` [Qemu-devel] [PATCH 04/26] timers: remove useless check Juan Quintela
2009-09-10  1:04 ` [Qemu-devel] [PATCH 05/26] Unexport ticks_per_sec variable. Create get_ticks_per_sec() function Juan Quintela
2009-09-10  1:20   ` malc
2009-09-10  1:57     ` [Qemu-devel] " Juan Quintela
2009-09-10  2:21       ` malc
2009-09-10 16:44         ` Juan Quintela
2009-09-10 17:02           ` malc
2009-09-10 17:38             ` Anthony Liguori
2009-09-10 21:31               ` malc
2009-09-10 22:08                 ` Anthony Liguori
2009-09-10 23:10                   ` malc
2009-09-10 23:33                     ` Juan Quintela
2009-09-11  5:49                     ` Amit Shah
2009-09-11 13:00                     ` Markus Armbruster
2009-09-11 15:34                     ` Anthony Liguori
2009-09-11 15:55                       ` Juan Quintela
2009-09-11 15:58                       ` Jan Kiszka
2009-11-09 16:29                       ` Paul Brook
2009-09-10 17:39             ` Juan Quintela
2009-09-10 22:16               ` Paolo Bonzini
2009-09-10 23:11                 ` malc
2009-09-11  9:04   ` Jan Kiszka
2009-09-11  9:31     ` Juan Quintela
2009-09-11  9:37       ` Jan Kiszka
2009-09-11 10:15         ` Juan Quintela
2009-09-11 10:26           ` Jan Kiszka
2009-09-10  1:04 ` [Qemu-devel] [PATCH 06/26] timers: Createt TimersState and put all timers state there Juan Quintela
2009-09-10  1:04 ` [Qemu-devel] [PATCH 07/26] timers: move them to VMState Juan Quintela
2009-09-10  1:04 ` [Qemu-devel] [PATCH 08/26] vmstate: add sensible arguments to vmstate_unregister() Juan Quintela
2009-09-10  1:04 ` [Qemu-devel] [PATCH 09/26] vmstate: rename run_after_load() -> post_load() Juan Quintela
2009-09-10  1:04 ` [Qemu-devel] [PATCH 10/26] vmstate: Add pre_load() hook Juan Quintela
2009-09-10  1:04 ` [Qemu-devel] [PATCH 11/26] vmstate: Add pre/post_save() hooks Juan Quintela
2009-09-10  1:04 ` [Qemu-devel] [PATCH 12/26] vmstate: port cpu_comon Juan Quintela
2009-09-10  1:04 ` [Qemu-devel] [PATCH 13/26] vmstate: port fw_cfg device Juan Quintela
2009-09-10  1:04 ` [Qemu-devel] [PATCH 14/26] vmstate: port i8259 device Juan Quintela
2009-09-10  1:04 ` [Qemu-devel] [PATCH 15/26] vmstate: add support for uint8_t equal Juan Quintela
2009-09-10  1:04 ` [Qemu-devel] [PATCH 16/26] vmstate: port fdc device Juan Quintela
2009-09-10  1:04 ` [Qemu-devel] [PATCH 17/26] vmstate: add support for arrays of uint16_t Juan Quintela
2009-09-10  1:04 ` [Qemu-devel] [PATCH 18/26] vmstate: port dma device Juan Quintela
2009-09-10  1:04 ` [Qemu-devel] [PATCH 19/26] vmstate: port vmmouse device Juan Quintela
2009-09-10  1:04 ` Juan Quintela [this message]
2009-09-10  1:04 ` [Qemu-devel] [PATCH 21/26] vmstate: add uint64 array support Juan Quintela
2009-09-10  1:04 ` [Qemu-devel] [PATCH 22/26] vmstate: port ioapic device Juan Quintela
2009-09-10  1:04 ` [Qemu-devel] [PATCH 23/26] hpet: it is imposible that qemu_timer field is NULL at this point Juan Quintela
2009-09-10  1:04 ` [Qemu-devel] [PATCH 24/26] vmstate: port hpet device Juan Quintela
2009-09-10  1:04 ` [Qemu-devel] [PATCH 25/26] vmstate: port serial device Juan Quintela
2009-09-10  1:04 ` [Qemu-devel] [PATCH 26/26] vmstate: port cirrus_vga device Juan Quintela

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=6ff1ce2455ddd7dd4573ea95a5b11609b71aa6bc.1252543872.git.quintela@redhat.com \
    --to=quintela@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).