[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 4/6] serial: Register vmstate via qdev
From: |
Jan Kiszka |
Subject: |
[Qemu-devel] [PATCH 4/6] serial: Register vmstate via qdev |
Date: |
Wed, 12 May 2010 23:19:11 +0200 |
From: Jan Kiszka <address@hidden>
At least for isa-serial, we can already let qdev do the vmstate
registration for us. It just takes wrapping vmstate for the
encapsulating ISASerialState and defining the proper instance ID
aliases.
Signed-off-by: Jan Kiszka <address@hidden>
---
hw/serial.c | 13 ++++++++++++-
1 files changed, 12 insertions(+), 1 deletions(-)
diff --git a/hw/serial.c b/hw/serial.c
index 90213c4..d4e4b7c 100644
--- a/hw/serial.c
+++ b/hw/serial.c
@@ -771,7 +771,7 @@ static int serial_isa_initfn(ISADevice *dev)
s->baudbase = 115200;
isa_init_irq(dev, &s->irq, isa->isairq);
serial_init_core(s);
- vmstate_register(isa->iobase, &vmstate_serial, s);
+ qdev_set_instance_id_alias(&dev->qdev, isa->iobase);
register_ioport_write(isa->iobase, 8, 1, serial_ioport_write, s);
register_ioport_read(isa->iobase, 8, 1, serial_ioport_read, s);
@@ -790,6 +790,16 @@ SerialState *serial_isa_init(int index, CharDriverState
*chr)
return &DO_UPCAST(ISASerialState, dev, dev)->state;
}
+static const VMStateDescription vmstate_isa_serial = {
+ .name = "serial",
+ .version_id = 3,
+ .minimum_version_id = 2,
+ .fields = (VMStateField []) {
+ VMSTATE_STRUCT(state, ISASerialState, 0, vmstate_serial, SerialState),
+ VMSTATE_END_OF_LIST()
+ }
+};
+
SerialState *serial_init(int base, qemu_irq irq, int baudbase,
CharDriverState *chr)
{
@@ -956,6 +966,7 @@ SerialState *serial_mm_init (target_phys_addr_t base, int
it_shift,
static ISADeviceInfo serial_isa_info = {
.qdev.name = "isa-serial",
.qdev.size = sizeof(ISASerialState),
+ .qdev.vmsd = &vmstate_isa_serial,
.init = serial_isa_initfn,
.qdev.props = (Property[]) {
DEFINE_PROP_UINT32("index", ISASerialState, index, -1),
--
1.6.0.2
- [Qemu-devel] [PATCH 0/6] vmstate: Drop post_save / allow instance ID aliases, Jan Kiszka, 2010/05/12
- [Qemu-devel] Re: [PATCH 0/6] vmstate: Drop post_save / allow instance ID aliases, Juan Quintela, 2010/05/12
- [Qemu-devel] [PATCH 1/6] tmp105: Drop unused faults field, Jan Kiszka, 2010/05/12
- [Qemu-devel] [PATCH 6/6] mc146818rtc: Register vmstate via qdev, Jan Kiszka, 2010/05/12
- [Qemu-devel] [PATCH 4/6] serial: Register vmstate via qdev,
Jan Kiszka <=
- [Qemu-devel] [PATCH 3/6] vmstate: Add support for alias ID, Jan Kiszka, 2010/05/12
- [Qemu-devel] [PATCH 5/6] fdc: Register vmstate via qdev, Jan Kiszka, 2010/05/12
- [Qemu-devel] [PATCH 2/6] vmstate: Drop unused post_save handler, Jan Kiszka, 2010/05/12