[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 20/26] vmstate: port pckbd device
From: |
Juan Quintela |
Subject: |
[Qemu-devel] [PATCH 20/26] vmstate: port pckbd device |
Date: |
Thu, 10 Sep 2009 03:04:41 +0200 |
Signed-off-by: Juan Quintela <address@hidden>
---
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
- [Qemu-devel] [PATCH 10/26] vmstate: Add pre_load() hook, (continued)
- [Qemu-devel] [PATCH 10/26] vmstate: Add pre_load() hook, Juan Quintela, 2009/09/09
- [Qemu-devel] [PATCH 11/26] vmstate: Add pre/post_save() hooks, Juan Quintela, 2009/09/09
- [Qemu-devel] [PATCH 12/26] vmstate: port cpu_comon, Juan Quintela, 2009/09/09
- [Qemu-devel] [PATCH 14/26] vmstate: port i8259 device, Juan Quintela, 2009/09/09
- [Qemu-devel] [PATCH 13/26] vmstate: port fw_cfg device, Juan Quintela, 2009/09/09
- [Qemu-devel] [PATCH 15/26] vmstate: add support for uint8_t equal, Juan Quintela, 2009/09/09
- [Qemu-devel] [PATCH 17/26] vmstate: add support for arrays of uint16_t, Juan Quintela, 2009/09/09
- [Qemu-devel] [PATCH 16/26] vmstate: port fdc device, Juan Quintela, 2009/09/09
- [Qemu-devel] [PATCH 18/26] vmstate: port dma device, Juan Quintela, 2009/09/09
- [Qemu-devel] [PATCH 19/26] vmstate: port vmmouse device, Juan Quintela, 2009/09/09
- [Qemu-devel] [PATCH 20/26] vmstate: port pckbd device,
Juan Quintela <=
- [Qemu-devel] [PATCH 21/26] vmstate: add uint64 array support, Juan Quintela, 2009/09/09
- [Qemu-devel] [PATCH 22/26] vmstate: port ioapic device, Juan Quintela, 2009/09/09
- [Qemu-devel] [PATCH 24/26] vmstate: port hpet device, Juan Quintela, 2009/09/09
- [Qemu-devel] [PATCH 23/26] hpet: it is imposible that qemu_timer field is NULL at this point, Juan Quintela, 2009/09/09
- [Qemu-devel] [PATCH 25/26] vmstate: port serial device, Juan Quintela, 2009/09/09
- [Qemu-devel] [PATCH 26/26] vmstate: port cirrus_vga device, Juan Quintela, 2009/09/09