* [Qemu-devel] [PATCH 0/2] fdc: fix migration from 0.11
@ 2009-12-15 13:34 Juan Quintela
2009-12-15 13:34 ` [Qemu-devel] [PATCH 1/2] Revert "fdc: fix vmstate variable passed" Juan Quintela
2009-12-15 13:34 ` [Qemu-devel] [PATCH 2/2] fdc: fix migration from 0.11 Juan Quintela
0 siblings, 2 replies; 3+ messages in thread
From: Juan Quintela @ 2009-12-15 13:34 UTC (permalink / raw)
To: qemu-devel
Hi
fdc in 0.11 used io_base as instance id. Revert the part that changed the
io_base to one instance_id of -1.
This makes migration from 0.11 -> 0.12 to not fail.
I still have to fix the problem with clock (since -rtc clock=host is default, migration
from older qemu's don't work well).
Later, Juan.
Juan Quintela (2):
Revert "fdc: fix vmstate variable passed"
fdc: fix migration from 0.11
hw/fdc.c | 39 ++++++---------------------------------
1 files changed, 6 insertions(+), 33 deletions(-)
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Qemu-devel] [PATCH 1/2] Revert "fdc: fix vmstate variable passed"
2009-12-15 13:34 [Qemu-devel] [PATCH 0/2] fdc: fix migration from 0.11 Juan Quintela
@ 2009-12-15 13:34 ` Juan Quintela
2009-12-15 13:34 ` [Qemu-devel] [PATCH 2/2] fdc: fix migration from 0.11 Juan Quintela
1 sibling, 0 replies; 3+ messages in thread
From: Juan Quintela @ 2009-12-15 13:34 UTC (permalink / raw)
To: qemu-devel
Floppy used the io_base address to register savevm region.
This reverts commit 2966b390d0f7cd5e5b971290fcc20685de374228.
Signed-off-by: Juan Quintela <quintela@redhat.com>
---
hw/fdc.c | 33 ++++-----------------------------
1 files changed, 4 insertions(+), 29 deletions(-)
diff --git a/hw/fdc.c b/hw/fdc.c
index 11ea439..1352dc4 100644
--- a/hw/fdc.c
+++ b/hw/fdc.c
@@ -661,7 +661,7 @@ static int fdc_post_load(void *opaque, int version_id)
}
static const VMStateDescription vmstate_fdc = {
- .name = "fdctrl",
+ .name = "fdc",
.version_id = 2,
.minimum_version_id = 2,
.minimum_version_id_old = 2,
@@ -699,31 +699,6 @@ static const VMStateDescription vmstate_fdc = {
}
};
-static const VMStateDescription vmstate_fdc_isa = {
- .name = "fdc",
- .version_id = 2,
- .minimum_version_id = 2,
- .minimum_version_id_old = 2,
- .fields = (VMStateField []) {
- /* Controller State */
- VMSTATE_STRUCT(state, fdctrl_isabus_t, 0, vmstate_fdc, fdctrl_t),
- VMSTATE_END_OF_LIST()
- }
-};
-
-static const VMStateDescription vmstate_fdc_sysbus = {
- .name = "fdc",
- .version_id = 2,
- .minimum_version_id = 2,
- .minimum_version_id_old = 2,
- .fields = (VMStateField []) {
- /* Controller State */
- VMSTATE_STRUCT(state, fdctrl_sysbus_t, 0, vmstate_fdc, fdctrl_t),
- VMSTATE_END_OF_LIST()
- }
-};
-
-
static void fdctrl_external_reset_sysbus(DeviceState *d)
{
fdctrl_sysbus_t *sys = container_of(d, fdctrl_sysbus_t, busdev.qdev);
@@ -2029,7 +2004,7 @@ static ISADeviceInfo isa_fdc_info = {
.qdev.name = "isa-fdc",
.qdev.size = sizeof(fdctrl_isabus_t),
.qdev.no_user = 1,
- .qdev.vmsd = &vmstate_fdc_isa,
+ .qdev.vmsd = &vmstate_fdc,
.qdev.reset = fdctrl_external_reset_isa,
.qdev.props = (Property[]) {
DEFINE_PROP_DRIVE("driveA", fdctrl_isabus_t, state.drives[0].dinfo),
@@ -2042,7 +2017,7 @@ static SysBusDeviceInfo sysbus_fdc_info = {
.init = sysbus_fdc_init1,
.qdev.name = "sysbus-fdc",
.qdev.size = sizeof(fdctrl_sysbus_t),
- .qdev.vmsd = &vmstate_fdc_sysbus,
+ .qdev.vmsd = &vmstate_fdc,
.qdev.reset = fdctrl_external_reset_sysbus,
.qdev.props = (Property[]) {
DEFINE_PROP_DRIVE("driveA", fdctrl_sysbus_t, state.drives[0].dinfo),
@@ -2055,7 +2030,7 @@ static SysBusDeviceInfo sun4m_fdc_info = {
.init = sun4m_fdc_init1,
.qdev.name = "SUNW,fdtwo",
.qdev.size = sizeof(fdctrl_sysbus_t),
- .qdev.vmsd = &vmstate_fdc_sysbus,
+ .qdev.vmsd = &vmstate_fdc,
.qdev.reset = fdctrl_external_reset_sysbus,
.qdev.props = (Property[]) {
DEFINE_PROP_DRIVE("drive", fdctrl_sysbus_t, state.drives[0].dinfo),
--
1.6.5.2
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [Qemu-devel] [PATCH 2/2] fdc: fix migration from 0.11
2009-12-15 13:34 [Qemu-devel] [PATCH 0/2] fdc: fix migration from 0.11 Juan Quintela
2009-12-15 13:34 ` [Qemu-devel] [PATCH 1/2] Revert "fdc: fix vmstate variable passed" Juan Quintela
@ 2009-12-15 13:34 ` Juan Quintela
1 sibling, 0 replies; 3+ messages in thread
From: Juan Quintela @ 2009-12-15 13:34 UTC (permalink / raw)
To: qemu-devel
0.11 uses as instance ide io_base, get it back
Signed-off-by: Juan Quintela <quintela@redhat.com>
---
hw/fdc.c | 12 +++++-------
1 files changed, 5 insertions(+), 7 deletions(-)
diff --git a/hw/fdc.c b/hw/fdc.c
index 1352dc4..0579b03 100644
--- a/hw/fdc.c
+++ b/hw/fdc.c
@@ -1907,7 +1907,7 @@ fdctrl_t *sun4m_fdctrl_init (qemu_irq irq, target_phys_addr_t io_base,
return fdctrl;
}
-static int fdctrl_init_common(fdctrl_t *fdctrl)
+static int fdctrl_init_common(fdctrl_t *fdctrl, target_phys_addr_t io_base)
{
int i, j;
static int command_tables_inited = 0;
@@ -1938,6 +1938,7 @@ static int fdctrl_init_common(fdctrl_t *fdctrl)
DMA_register_channel(fdctrl->dma_chann, &fdctrl_transfer_handler, fdctrl);
fdctrl_connect_drives(fdctrl);
+ vmstate_register(io_base, &vmstate_fdc, fdctrl);
return 0;
}
@@ -1961,7 +1962,7 @@ static int isabus_fdc_init1(ISADevice *dev)
isa_init_irq(&isa->busdev, &fdctrl->irq, isairq);
fdctrl->dma_chann = dma_chann;
- ret = fdctrl_init_common(fdctrl);
+ ret = fdctrl_init_common(fdctrl, iobase);
return ret;
}
@@ -1979,7 +1980,7 @@ static int sysbus_fdc_init1(SysBusDevice *dev)
qdev_init_gpio_in(&dev->qdev, fdctrl_handle_tc, 1);
fdctrl->dma_chann = -1;
- ret = fdctrl_init_common(fdctrl);
+ ret = fdctrl_init_common(fdctrl, io);
return ret;
}
@@ -1996,7 +1997,7 @@ static int sun4m_fdc_init1(SysBusDevice *dev)
qdev_init_gpio_in(&dev->qdev, fdctrl_handle_tc, 1);
fdctrl->sun4m = 1;
- return fdctrl_init_common(fdctrl);
+ return fdctrl_init_common(fdctrl, io);
}
static ISADeviceInfo isa_fdc_info = {
@@ -2004,7 +2005,6 @@ static ISADeviceInfo isa_fdc_info = {
.qdev.name = "isa-fdc",
.qdev.size = sizeof(fdctrl_isabus_t),
.qdev.no_user = 1,
- .qdev.vmsd = &vmstate_fdc,
.qdev.reset = fdctrl_external_reset_isa,
.qdev.props = (Property[]) {
DEFINE_PROP_DRIVE("driveA", fdctrl_isabus_t, state.drives[0].dinfo),
@@ -2017,7 +2017,6 @@ static SysBusDeviceInfo sysbus_fdc_info = {
.init = sysbus_fdc_init1,
.qdev.name = "sysbus-fdc",
.qdev.size = sizeof(fdctrl_sysbus_t),
- .qdev.vmsd = &vmstate_fdc,
.qdev.reset = fdctrl_external_reset_sysbus,
.qdev.props = (Property[]) {
DEFINE_PROP_DRIVE("driveA", fdctrl_sysbus_t, state.drives[0].dinfo),
@@ -2030,7 +2029,6 @@ static SysBusDeviceInfo sun4m_fdc_info = {
.init = sun4m_fdc_init1,
.qdev.name = "SUNW,fdtwo",
.qdev.size = sizeof(fdctrl_sysbus_t),
- .qdev.vmsd = &vmstate_fdc,
.qdev.reset = fdctrl_external_reset_sysbus,
.qdev.props = (Property[]) {
DEFINE_PROP_DRIVE("drive", fdctrl_sysbus_t, state.drives[0].dinfo),
--
1.6.5.2
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2009-12-15 13:35 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-12-15 13:34 [Qemu-devel] [PATCH 0/2] fdc: fix migration from 0.11 Juan Quintela
2009-12-15 13:34 ` [Qemu-devel] [PATCH 1/2] Revert "fdc: fix vmstate variable passed" Juan Quintela
2009-12-15 13:34 ` [Qemu-devel] [PATCH 2/2] fdc: fix migration from 0.11 Juan Quintela
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.