aboutsummaryrefslogtreecommitdiff
path: root/hw
diff options
context:
space:
mode:
authorJuan Quintela <quintela@redhat.com>2009-12-15 14:34:35 +0100
committerAnthony Liguori <aliguori@us.ibm.com>2009-12-19 08:26:24 -0600
commit07d00c2174d5ced3aa72184e6163849857250f64 (patch)
tree89513984e2a07d21b929e58afb8c915c7c2154cb /hw
parentRevert "fdc: fix vmstate variable passed" (diff)
downloadqemu-kvm-07d00c2174d5ced3aa72184e6163849857250f64.tar.gz
qemu-kvm-07d00c2174d5ced3aa72184e6163849857250f64.tar.bz2
qemu-kvm-07d00c2174d5ced3aa72184e6163849857250f64.zip
fdc: fix migration from 0.11
0.11 uses as instance ide io_base, get it back Signed-off-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit 47f5ba724871622c7db7a73fd05d6b3646478dd6)
Diffstat (limited to 'hw')
-rw-r--r--hw/fdc.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/hw/fdc.c b/hw/fdc.c
index d2bfa71d8..139333727 100644
--- a/hw/fdc.c
+++ b/hw/fdc.c
@@ -1901,7 +1901,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;
@@ -1932,6 +1932,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;
}
@@ -1955,7 +1956,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;
}
@@ -1973,7 +1974,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;
}
@@ -1990,7 +1991,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 = {
@@ -1998,7 +1999,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),
@@ -2011,7 +2011,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),
@@ -2024,7 +2023,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),