* [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 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).