[01/32] hw/i386: Remove obsolete LoadStateHandler::load_state_old handlers
diff mbox series

Message ID 20191015162705.28087-2-philmd@redhat.com
State New
Headers show
Series
  • hw/i386/pc: Split PIIX3 southbridge from i440FX northbridge
Related show

Commit Message

Philippe Mathieu-Daudé Oct. 15, 2019, 4:26 p.m. UTC
These devices implemented their load_state_old() handler 10 years
ago, previous to QEMU v0.12.
Since commit cc425b5ddf removed the pc-0.10 and pc-0.11 machines,
we can drop this code.

Note: the mips_r4k machine started to use the i8254 device just
after QEMU v0.5.0, but the MIPS machine types are not versioned,
so there is no migration compatibility issue removing this handler.

Suggested-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 hw/acpi/piix4.c         | 40 ---------------------------------
 hw/intc/apic_common.c   | 49 -----------------------------------------
 hw/pci-host/piix.c      | 25 ---------------------
 hw/timer/i8254_common.c | 40 ---------------------------------
 4 files changed, 154 deletions(-)

Comments

Philippe Mathieu-Daudé Oct. 15, 2019, 4:29 p.m. UTC | #1
I forgot to Cc David and Daniel for this one.

On 10/15/19 6:26 PM, Philippe Mathieu-Daudé wrote:
> These devices implemented their load_state_old() handler 10 years
> ago, previous to QEMU v0.12.
> Since commit cc425b5ddf removed the pc-0.10 and pc-0.11 machines,
> we can drop this code.
> 
> Note: the mips_r4k machine started to use the i8254 device just
> after QEMU v0.5.0, but the MIPS machine types are not versioned,
> so there is no migration compatibility issue removing this handler.
> 
> Suggested-by: Peter Maydell <peter.maydell@linaro.org>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
>   hw/acpi/piix4.c         | 40 ---------------------------------
>   hw/intc/apic_common.c   | 49 -----------------------------------------
>   hw/pci-host/piix.c      | 25 ---------------------
>   hw/timer/i8254_common.c | 40 ---------------------------------
>   4 files changed, 154 deletions(-)
> 
> diff --git a/hw/acpi/piix4.c b/hw/acpi/piix4.c
> index 5742c3df87..1d29d438c7 100644
> --- a/hw/acpi/piix4.c
> +++ b/hw/acpi/piix4.c
> @@ -42,7 +42,6 @@
>   #include "hw/acpi/memory_hotplug.h"
>   #include "hw/acpi/acpi_dev_interface.h"
>   #include "hw/xen/xen.h"
> -#include "migration/qemu-file-types.h"
>   #include "migration/vmstate.h"
>   #include "hw/core/cpu.h"
>   #include "trace.h"
> @@ -205,43 +204,6 @@ static const VMStateDescription vmstate_pci_status = {
>       }
>   };
>   
> -static int acpi_load_old(QEMUFile *f, void *opaque, int version_id)
> -{
> -    PIIX4PMState *s = opaque;
> -    int ret, i;
> -    uint16_t temp;
> -
> -    ret = pci_device_load(PCI_DEVICE(s), f);
> -    if (ret < 0) {
> -        return ret;
> -    }
> -    qemu_get_be16s(f, &s->ar.pm1.evt.sts);
> -    qemu_get_be16s(f, &s->ar.pm1.evt.en);
> -    qemu_get_be16s(f, &s->ar.pm1.cnt.cnt);
> -
> -    ret = vmstate_load_state(f, &vmstate_apm, &s->apm, 1);
> -    if (ret) {
> -        return ret;
> -    }
> -
> -    timer_get(f, s->ar.tmr.timer);
> -    qemu_get_sbe64s(f, &s->ar.tmr.overflow_time);
> -
> -    qemu_get_be16s(f, (uint16_t *)s->ar.gpe.sts);
> -    for (i = 0; i < 3; i++) {
> -        qemu_get_be16s(f, &temp);
> -    }
> -
> -    qemu_get_be16s(f, (uint16_t *)s->ar.gpe.en);
> -    for (i = 0; i < 3; i++) {
> -        qemu_get_be16s(f, &temp);
> -    }
> -
> -    ret = vmstate_load_state(f, &vmstate_pci_status,
> -        &s->acpi_pci_hotplug.acpi_pcihp_pci_status[ACPI_PCIHP_BSEL_DEFAULT], 1);
> -    return ret;
> -}
> -
>   static bool vmstate_test_use_acpi_pci_hotplug(void *opaque, int version_id)
>   {
>       PIIX4PMState *s = opaque;
> @@ -313,8 +275,6 @@ static const VMStateDescription vmstate_acpi = {
>       .name = "piix4_pm",
>       .version_id = 3,
>       .minimum_version_id = 3,
> -    .minimum_version_id_old = 1,
> -    .load_state_old = acpi_load_old,
>       .post_load = vmstate_acpi_post_load,
>       .fields = (VMStateField[]) {
>           VMSTATE_PCI_DEVICE(parent_obj, PIIX4PMState),
> diff --git a/hw/intc/apic_common.c b/hw/intc/apic_common.c
> index aafd8e0e33..375cb6abe9 100644
> --- a/hw/intc/apic_common.c
> +++ b/hw/intc/apic_common.c
> @@ -31,7 +31,6 @@
>   #include "sysemu/kvm.h"
>   #include "hw/qdev-properties.h"
>   #include "hw/sysbus.h"
> -#include "migration/qemu-file-types.h"
>   #include "migration/vmstate.h"
>   
>   static int apic_irq_delivered;
> @@ -262,52 +261,6 @@ static void apic_reset_common(DeviceState *dev)
>       apic_init_reset(dev);
>   }
>   
> -/* This function is only used for old state version 1 and 2 */
> -static int apic_load_old(QEMUFile *f, void *opaque, int version_id)
> -{
> -    APICCommonState *s = opaque;
> -    APICCommonClass *info = APIC_COMMON_GET_CLASS(s);
> -    int i;
> -
> -    if (version_id > 2) {
> -        return -EINVAL;
> -    }
> -
> -    /* XXX: what if the base changes? (registered memory regions) */
> -    qemu_get_be32s(f, &s->apicbase);
> -    qemu_get_8s(f, &s->id);
> -    qemu_get_8s(f, &s->arb_id);
> -    qemu_get_8s(f, &s->tpr);
> -    qemu_get_be32s(f, &s->spurious_vec);
> -    qemu_get_8s(f, &s->log_dest);
> -    qemu_get_8s(f, &s->dest_mode);
> -    for (i = 0; i < 8; i++) {
> -        qemu_get_be32s(f, &s->isr[i]);
> -        qemu_get_be32s(f, &s->tmr[i]);
> -        qemu_get_be32s(f, &s->irr[i]);
> -    }
> -    for (i = 0; i < APIC_LVT_NB; i++) {
> -        qemu_get_be32s(f, &s->lvt[i]);
> -    }
> -    qemu_get_be32s(f, &s->esr);
> -    qemu_get_be32s(f, &s->icr[0]);
> -    qemu_get_be32s(f, &s->icr[1]);
> -    qemu_get_be32s(f, &s->divide_conf);
> -    s->count_shift = qemu_get_be32(f);
> -    qemu_get_be32s(f, &s->initial_count);
> -    s->initial_count_load_time = qemu_get_be64(f);
> -    s->next_time = qemu_get_be64(f);
> -
> -    if (version_id >= 2) {
> -        s->timer_expiry = qemu_get_be64(f);
> -    }
> -
> -    if (info->post_load) {
> -        info->post_load(s);
> -    }
> -    return 0;
> -}
> -
>   static const VMStateDescription vmstate_apic_common;
>   
>   static void apic_common_realize(DeviceState *dev, Error **errp)
> @@ -408,8 +361,6 @@ static const VMStateDescription vmstate_apic_common = {
>       .name = "apic",
>       .version_id = 3,
>       .minimum_version_id = 3,
> -    .minimum_version_id_old = 1,
> -    .load_state_old = apic_load_old,
>       .pre_load = apic_pre_load,
>       .pre_save = apic_dispatch_pre_save,
>       .post_load = apic_dispatch_post_load,
> diff --git a/hw/pci-host/piix.c b/hw/pci-host/piix.c
> index 135c645535..2f4cbcbfe9 100644
> --- a/hw/pci-host/piix.c
> +++ b/hw/pci-host/piix.c
> @@ -33,7 +33,6 @@
>   #include "qapi/error.h"
>   #include "qemu/range.h"
>   #include "hw/xen/xen.h"
> -#include "migration/qemu-file-types.h"
>   #include "migration/vmstate.h"
>   #include "hw/pci-host/pam.h"
>   #include "sysemu/reset.h"
> @@ -174,28 +173,6 @@ static void i440fx_write_config(PCIDevice *dev,
>       }
>   }
>   
> -static int i440fx_load_old(QEMUFile* f, void *opaque, int version_id)
> -{
> -    PCII440FXState *d = opaque;
> -    PCIDevice *pd = PCI_DEVICE(d);
> -    int ret, i;
> -    uint8_t smm_enabled;
> -
> -    ret = pci_device_load(pd, f);
> -    if (ret < 0)
> -        return ret;
> -    i440fx_update_memory_mappings(d);
> -    qemu_get_8s(f, &smm_enabled);
> -
> -    if (version_id == 2) {
> -        for (i = 0; i < PIIX_NUM_PIRQS; i++) {
> -            qemu_get_be32(f); /* dummy load for compatibility */
> -        }
> -    }
> -
> -    return 0;
> -}
> -
>   static int i440fx_post_load(void *opaque, int version_id)
>   {
>       PCII440FXState *d = opaque;
> @@ -208,8 +185,6 @@ static const VMStateDescription vmstate_i440fx = {
>       .name = "I440FX",
>       .version_id = 3,
>       .minimum_version_id = 3,
> -    .minimum_version_id_old = 1,
> -    .load_state_old = i440fx_load_old,
>       .post_load = i440fx_post_load,
>       .fields = (VMStateField[]) {
>           VMSTATE_PCI_DEVICE(parent_obj, PCII440FXState),
> diff --git a/hw/timer/i8254_common.c b/hw/timer/i8254_common.c
> index 57bf10cc94..050875b497 100644
> --- a/hw/timer/i8254_common.c
> +++ b/hw/timer/i8254_common.c
> @@ -29,7 +29,6 @@
>   #include "qemu/timer.h"
>   #include "hw/timer/i8254.h"
>   #include "hw/timer/i8254_internal.h"
> -#include "migration/qemu-file-types.h"
>   #include "migration/vmstate.h"
>   
>   /* val must be 0 or 1 */
> @@ -202,43 +201,6 @@ static const VMStateDescription vmstate_pit_channel = {
>       }
>   };
>   
> -static int pit_load_old(QEMUFile *f, void *opaque, int version_id)
> -{
> -    PITCommonState *pit = opaque;
> -    PITCommonClass *c = PIT_COMMON_GET_CLASS(pit);
> -    PITChannelState *s;
> -    int i;
> -
> -    if (version_id != 1) {
> -        return -EINVAL;
> -    }
> -
> -    for (i = 0; i < 3; i++) {
> -        s = &pit->channels[i];
> -        s->count = qemu_get_be32(f);
> -        qemu_get_be16s(f, &s->latched_count);
> -        qemu_get_8s(f, &s->count_latched);
> -        qemu_get_8s(f, &s->status_latched);
> -        qemu_get_8s(f, &s->status);
> -        qemu_get_8s(f, &s->read_state);
> -        qemu_get_8s(f, &s->write_state);
> -        qemu_get_8s(f, &s->write_latch);
> -        qemu_get_8s(f, &s->rw_mode);
> -        qemu_get_8s(f, &s->mode);
> -        qemu_get_8s(f, &s->bcd);
> -        qemu_get_8s(f, &s->gate);
> -        s->count_load_time = qemu_get_be64(f);
> -        s->irq_disabled = 0;
> -        if (i == 0) {
> -            s->next_transition_time = qemu_get_be64(f);
> -        }
> -    }
> -    if (c->post_load) {
> -        c->post_load(pit);
> -    }
> -    return 0;
> -}
> -
>   static int pit_dispatch_pre_save(void *opaque)
>   {
>       PITCommonState *s = opaque;
> @@ -266,8 +228,6 @@ static const VMStateDescription vmstate_pit_common = {
>       .name = "i8254",
>       .version_id = 3,
>       .minimum_version_id = 2,
> -    .minimum_version_id_old = 1,
> -    .load_state_old = pit_load_old,
>       .pre_save = pit_dispatch_pre_save,
>       .post_load = pit_dispatch_post_load,
>       .fields = (VMStateField[]) {
>
Aleksandar Markovic Oct. 17, 2019, 2:40 p.m. UTC | #2
On Tuesday, October 15, 2019, Philippe Mathieu-Daudé <philmd@redhat.com>
wrote:

> These devices implemented their load_state_old() handler 10 years
> ago, previous to QEMU v0.12.
> Since commit cc425b5ddf removed the pc-0.10 and pc-0.11 machines,
> we can drop this code.
>
> Note: the mips_r4k machine started to use the i8254 device just
> after QEMU v0.5.0, but the MIPS machine types are not versioned,
> so there is no migration compatibility issue removing this handler.
>
> Suggested-by: Peter Maydell <peter.maydell@linaro.org>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
>  hw/acpi/piix4.c         | 40 ---------------------------------
>  hw/intc/apic_common.c   | 49 -----------------------------------------
>  hw/pci-host/piix.c      | 25 ---------------------
>  hw/timer/i8254_common.c | 40 ---------------------------------
>  4 files changed, 154 deletions(-)
>
>
Reviewed-by: Aleksandar Markovic <amarkovic@wavecomp.com>



> diff --git a/hw/acpi/piix4.c b/hw/acpi/piix4.c
> index 5742c3df87..1d29d438c7 100644
> --- a/hw/acpi/piix4.c
> +++ b/hw/acpi/piix4.c
> @@ -42,7 +42,6 @@
>  #include "hw/acpi/memory_hotplug.h"
>  #include "hw/acpi/acpi_dev_interface.h"
>  #include "hw/xen/xen.h"
> -#include "migration/qemu-file-types.h"
>  #include "migration/vmstate.h"
>  #include "hw/core/cpu.h"
>  #include "trace.h"
> @@ -205,43 +204,6 @@ static const VMStateDescription vmstate_pci_status = {
>      }
>  };
>
> -static int acpi_load_old(QEMUFile *f, void *opaque, int version_id)
> -{
> -    PIIX4PMState *s = opaque;
> -    int ret, i;
> -    uint16_t temp;
> -
> -    ret = pci_device_load(PCI_DEVICE(s), f);
> -    if (ret < 0) {
> -        return ret;
> -    }
> -    qemu_get_be16s(f, &s->ar.pm1.evt.sts);
> -    qemu_get_be16s(f, &s->ar.pm1.evt.en);
> -    qemu_get_be16s(f, &s->ar.pm1.cnt.cnt);
> -
> -    ret = vmstate_load_state(f, &vmstate_apm, &s->apm, 1);
> -    if (ret) {
> -        return ret;
> -    }
> -
> -    timer_get(f, s->ar.tmr.timer);
> -    qemu_get_sbe64s(f, &s->ar.tmr.overflow_time);
> -
> -    qemu_get_be16s(f, (uint16_t *)s->ar.gpe.sts);
> -    for (i = 0; i < 3; i++) {
> -        qemu_get_be16s(f, &temp);
> -    }
> -
> -    qemu_get_be16s(f, (uint16_t *)s->ar.gpe.en);
> -    for (i = 0; i < 3; i++) {
> -        qemu_get_be16s(f, &temp);
> -    }
> -
> -    ret = vmstate_load_state(f, &vmstate_pci_status,
> -        &s->acpi_pci_hotplug.acpi_pcihp_pci_status[ACPI_PCIHP_BSEL_DEFAULT],
> 1);
> -    return ret;
> -}
> -
>  static bool vmstate_test_use_acpi_pci_hotplug(void *opaque, int
> version_id)
>  {
>      PIIX4PMState *s = opaque;
> @@ -313,8 +275,6 @@ static const VMStateDescription vmstate_acpi = {
>      .name = "piix4_pm",
>      .version_id = 3,
>      .minimum_version_id = 3,
> -    .minimum_version_id_old = 1,
> -    .load_state_old = acpi_load_old,
>      .post_load = vmstate_acpi_post_load,
>      .fields = (VMStateField[]) {
>          VMSTATE_PCI_DEVICE(parent_obj, PIIX4PMState),
> diff --git a/hw/intc/apic_common.c b/hw/intc/apic_common.c
> index aafd8e0e33..375cb6abe9 100644
> --- a/hw/intc/apic_common.c
> +++ b/hw/intc/apic_common.c
> @@ -31,7 +31,6 @@
>  #include "sysemu/kvm.h"
>  #include "hw/qdev-properties.h"
>  #include "hw/sysbus.h"
> -#include "migration/qemu-file-types.h"
>  #include "migration/vmstate.h"
>
>  static int apic_irq_delivered;
> @@ -262,52 +261,6 @@ static void apic_reset_common(DeviceState *dev)
>      apic_init_reset(dev);
>  }
>
> -/* This function is only used for old state version 1 and 2 */
> -static int apic_load_old(QEMUFile *f, void *opaque, int version_id)
> -{
> -    APICCommonState *s = opaque;
> -    APICCommonClass *info = APIC_COMMON_GET_CLASS(s);
> -    int i;
> -
> -    if (version_id > 2) {
> -        return -EINVAL;
> -    }
> -
> -    /* XXX: what if the base changes? (registered memory regions) */
> -    qemu_get_be32s(f, &s->apicbase);
> -    qemu_get_8s(f, &s->id);
> -    qemu_get_8s(f, &s->arb_id);
> -    qemu_get_8s(f, &s->tpr);
> -    qemu_get_be32s(f, &s->spurious_vec);
> -    qemu_get_8s(f, &s->log_dest);
> -    qemu_get_8s(f, &s->dest_mode);
> -    for (i = 0; i < 8; i++) {
> -        qemu_get_be32s(f, &s->isr[i]);
> -        qemu_get_be32s(f, &s->tmr[i]);
> -        qemu_get_be32s(f, &s->irr[i]);
> -    }
> -    for (i = 0; i < APIC_LVT_NB; i++) {
> -        qemu_get_be32s(f, &s->lvt[i]);
> -    }
> -    qemu_get_be32s(f, &s->esr);
> -    qemu_get_be32s(f, &s->icr[0]);
> -    qemu_get_be32s(f, &s->icr[1]);
> -    qemu_get_be32s(f, &s->divide_conf);
> -    s->count_shift = qemu_get_be32(f);
> -    qemu_get_be32s(f, &s->initial_count);
> -    s->initial_count_load_time = qemu_get_be64(f);
> -    s->next_time = qemu_get_be64(f);
> -
> -    if (version_id >= 2) {
> -        s->timer_expiry = qemu_get_be64(f);
> -    }
> -
> -    if (info->post_load) {
> -        info->post_load(s);
> -    }
> -    return 0;
> -}
> -
>  static const VMStateDescription vmstate_apic_common;
>
>  static void apic_common_realize(DeviceState *dev, Error **errp)
> @@ -408,8 +361,6 @@ static const VMStateDescription vmstate_apic_common = {
>      .name = "apic",
>      .version_id = 3,
>      .minimum_version_id = 3,
> -    .minimum_version_id_old = 1,
> -    .load_state_old = apic_load_old,
>      .pre_load = apic_pre_load,
>      .pre_save = apic_dispatch_pre_save,
>      .post_load = apic_dispatch_post_load,
> diff --git a/hw/pci-host/piix.c b/hw/pci-host/piix.c
> index 135c645535..2f4cbcbfe9 100644
> --- a/hw/pci-host/piix.c
> +++ b/hw/pci-host/piix.c
> @@ -33,7 +33,6 @@
>  #include "qapi/error.h"
>  #include "qemu/range.h"
>  #include "hw/xen/xen.h"
> -#include "migration/qemu-file-types.h"
>  #include "migration/vmstate.h"
>  #include "hw/pci-host/pam.h"
>  #include "sysemu/reset.h"
> @@ -174,28 +173,6 @@ static void i440fx_write_config(PCIDevice *dev,
>      }
>  }
>
> -static int i440fx_load_old(QEMUFile* f, void *opaque, int version_id)
> -{
> -    PCII440FXState *d = opaque;
> -    PCIDevice *pd = PCI_DEVICE(d);
> -    int ret, i;
> -    uint8_t smm_enabled;
> -
> -    ret = pci_device_load(pd, f);
> -    if (ret < 0)
> -        return ret;
> -    i440fx_update_memory_mappings(d);
> -    qemu_get_8s(f, &smm_enabled);
> -
> -    if (version_id == 2) {
> -        for (i = 0; i < PIIX_NUM_PIRQS; i++) {
> -            qemu_get_be32(f); /* dummy load for compatibility */
> -        }
> -    }
> -
> -    return 0;
> -}
> -
>  static int i440fx_post_load(void *opaque, int version_id)
>  {
>      PCII440FXState *d = opaque;
> @@ -208,8 +185,6 @@ static const VMStateDescription vmstate_i440fx = {
>      .name = "I440FX",
>      .version_id = 3,
>      .minimum_version_id = 3,
> -    .minimum_version_id_old = 1,
> -    .load_state_old = i440fx_load_old,
>      .post_load = i440fx_post_load,
>      .fields = (VMStateField[]) {
>          VMSTATE_PCI_DEVICE(parent_obj, PCII440FXState),
> diff --git a/hw/timer/i8254_common.c b/hw/timer/i8254_common.c
> index 57bf10cc94..050875b497 100644
> --- a/hw/timer/i8254_common.c
> +++ b/hw/timer/i8254_common.c
> @@ -29,7 +29,6 @@
>  #include "qemu/timer.h"
>  #include "hw/timer/i8254.h"
>  #include "hw/timer/i8254_internal.h"
> -#include "migration/qemu-file-types.h"
>  #include "migration/vmstate.h"
>
>  /* val must be 0 or 1 */
> @@ -202,43 +201,6 @@ static const VMStateDescription vmstate_pit_channel =
> {
>      }
>  };
>
> -static int pit_load_old(QEMUFile *f, void *opaque, int version_id)
> -{
> -    PITCommonState *pit = opaque;
> -    PITCommonClass *c = PIT_COMMON_GET_CLASS(pit);
> -    PITChannelState *s;
> -    int i;
> -
> -    if (version_id != 1) {
> -        return -EINVAL;
> -    }
> -
> -    for (i = 0; i < 3; i++) {
> -        s = &pit->channels[i];
> -        s->count = qemu_get_be32(f);
> -        qemu_get_be16s(f, &s->latched_count);
> -        qemu_get_8s(f, &s->count_latched);
> -        qemu_get_8s(f, &s->status_latched);
> -        qemu_get_8s(f, &s->status);
> -        qemu_get_8s(f, &s->read_state);
> -        qemu_get_8s(f, &s->write_state);
> -        qemu_get_8s(f, &s->write_latch);
> -        qemu_get_8s(f, &s->rw_mode);
> -        qemu_get_8s(f, &s->mode);
> -        qemu_get_8s(f, &s->bcd);
> -        qemu_get_8s(f, &s->gate);
> -        s->count_load_time = qemu_get_be64(f);
> -        s->irq_disabled = 0;
> -        if (i == 0) {
> -            s->next_transition_time = qemu_get_be64(f);
> -        }
> -    }
> -    if (c->post_load) {
> -        c->post_load(pit);
> -    }
> -    return 0;
> -}
> -
>  static int pit_dispatch_pre_save(void *opaque)
>  {
>      PITCommonState *s = opaque;
> @@ -266,8 +228,6 @@ static const VMStateDescription vmstate_pit_common = {
>      .name = "i8254",
>      .version_id = 3,
>      .minimum_version_id = 2,
> -    .minimum_version_id_old = 1,
> -    .load_state_old = pit_load_old,
>      .pre_save = pit_dispatch_pre_save,
>      .post_load = pit_dispatch_post_load,
>      .fields = (VMStateField[]) {
> --
> 2.21.0
>
>
>
Dr. David Alan Gilbert Nov. 1, 2019, 10:19 a.m. UTC | #3
* Philippe Mathieu-Daudé (philmd@redhat.com) wrote:
> I forgot to Cc David and Daniel for this one.
> 
> On 10/15/19 6:26 PM, Philippe Mathieu-Daudé wrote:
> > These devices implemented their load_state_old() handler 10 years
> > ago, previous to QEMU v0.12.
> > Since commit cc425b5ddf removed the pc-0.10 and pc-0.11 machines,
> > we can drop this code.
> > 
> > Note: the mips_r4k machine started to use the i8254 device just
> > after QEMU v0.5.0, but the MIPS machine types are not versioned,
> > so there is no migration compatibility issue removing this handler.
> > 
> > Suggested-by: Peter Maydell <peter.maydell@linaro.org>
> > Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> > ---
> >   hw/acpi/piix4.c         | 40 ---------------------------------
> >   hw/intc/apic_common.c   | 49 -----------------------------------------
> >   hw/pci-host/piix.c      | 25 ---------------------
> >   hw/timer/i8254_common.c | 40 ---------------------------------
> >   4 files changed, 154 deletions(-)
> > 
> > diff --git a/hw/acpi/piix4.c b/hw/acpi/piix4.c
> > index 5742c3df87..1d29d438c7 100644
> > --- a/hw/acpi/piix4.c
> > +++ b/hw/acpi/piix4.c
> > @@ -42,7 +42,6 @@
> >   #include "hw/acpi/memory_hotplug.h"
> >   #include "hw/acpi/acpi_dev_interface.h"
> >   #include "hw/xen/xen.h"
> > -#include "migration/qemu-file-types.h"
> >   #include "migration/vmstate.h"
> >   #include "hw/core/cpu.h"
> >   #include "trace.h"
> > @@ -205,43 +204,6 @@ static const VMStateDescription vmstate_pci_status = {
> >       }
> >   };
> > -static int acpi_load_old(QEMUFile *f, void *opaque, int version_id)
> > -{
> > -    PIIX4PMState *s = opaque;
> > -    int ret, i;
> > -    uint16_t temp;
> > -
> > -    ret = pci_device_load(PCI_DEVICE(s), f);
> > -    if (ret < 0) {
> > -        return ret;
> > -    }
> > -    qemu_get_be16s(f, &s->ar.pm1.evt.sts);
> > -    qemu_get_be16s(f, &s->ar.pm1.evt.en);
> > -    qemu_get_be16s(f, &s->ar.pm1.cnt.cnt);
> > -
> > -    ret = vmstate_load_state(f, &vmstate_apm, &s->apm, 1);
> > -    if (ret) {
> > -        return ret;
> > -    }
> > -
> > -    timer_get(f, s->ar.tmr.timer);
> > -    qemu_get_sbe64s(f, &s->ar.tmr.overflow_time);
> > -
> > -    qemu_get_be16s(f, (uint16_t *)s->ar.gpe.sts);
> > -    for (i = 0; i < 3; i++) {
> > -        qemu_get_be16s(f, &temp);
> > -    }
> > -
> > -    qemu_get_be16s(f, (uint16_t *)s->ar.gpe.en);
> > -    for (i = 0; i < 3; i++) {
> > -        qemu_get_be16s(f, &temp);
> > -    }
> > -
> > -    ret = vmstate_load_state(f, &vmstate_pci_status,
> > -        &s->acpi_pci_hotplug.acpi_pcihp_pci_status[ACPI_PCIHP_BSEL_DEFAULT], 1);
> > -    return ret;
> > -}
> > -
> >   static bool vmstate_test_use_acpi_pci_hotplug(void *opaque, int version_id)
> >   {
> >       PIIX4PMState *s = opaque;
> > @@ -313,8 +275,6 @@ static const VMStateDescription vmstate_acpi = {
> >       .name = "piix4_pm",
> >       .version_id = 3,
> >       .minimum_version_id = 3,
> > -    .minimum_version_id_old = 1,
> > -    .load_state_old = acpi_load_old,

Can you exlain why this is old enough?  That was chnanged by b0b873a
that was some version id specific hack, but also 4cf3e6f3d85 - isn't
that before 0.12.0 ?

> >       .post_load = vmstate_acpi_post_load,
> >       .fields = (VMStateField[]) {
> >           VMSTATE_PCI_DEVICE(parent_obj, PIIX4PMState),
> > diff --git a/hw/intc/apic_common.c b/hw/intc/apic_common.c
> > index aafd8e0e33..375cb6abe9 100644
> > --- a/hw/intc/apic_common.c
> > +++ b/hw/intc/apic_common.c
> > @@ -31,7 +31,6 @@
> >   #include "sysemu/kvm.h"
> >   #include "hw/qdev-properties.h"
> >   #include "hw/sysbus.h"
> > -#include "migration/qemu-file-types.h"
> >   #include "migration/vmstate.h"
> >   static int apic_irq_delivered;
> > @@ -262,52 +261,6 @@ static void apic_reset_common(DeviceState *dev)
> >       apic_init_reset(dev);
> >   }
> > -/* This function is only used for old state version 1 and 2 */
> > -static int apic_load_old(QEMUFile *f, void *opaque, int version_id)
> > -{
> > -    APICCommonState *s = opaque;
> > -    APICCommonClass *info = APIC_COMMON_GET_CLASS(s);
> > -    int i;
> > -
> > -    if (version_id > 2) {
> > -        return -EINVAL;
> > -    }
> > -
> > -    /* XXX: what if the base changes? (registered memory regions) */
> > -    qemu_get_be32s(f, &s->apicbase);
> > -    qemu_get_8s(f, &s->id);
> > -    qemu_get_8s(f, &s->arb_id);
> > -    qemu_get_8s(f, &s->tpr);
> > -    qemu_get_be32s(f, &s->spurious_vec);
> > -    qemu_get_8s(f, &s->log_dest);
> > -    qemu_get_8s(f, &s->dest_mode);
> > -    for (i = 0; i < 8; i++) {
> > -        qemu_get_be32s(f, &s->isr[i]);
> > -        qemu_get_be32s(f, &s->tmr[i]);
> > -        qemu_get_be32s(f, &s->irr[i]);
> > -    }
> > -    for (i = 0; i < APIC_LVT_NB; i++) {
> > -        qemu_get_be32s(f, &s->lvt[i]);
> > -    }
> > -    qemu_get_be32s(f, &s->esr);
> > -    qemu_get_be32s(f, &s->icr[0]);
> > -    qemu_get_be32s(f, &s->icr[1]);
> > -    qemu_get_be32s(f, &s->divide_conf);
> > -    s->count_shift = qemu_get_be32(f);
> > -    qemu_get_be32s(f, &s->initial_count);
> > -    s->initial_count_load_time = qemu_get_be64(f);
> > -    s->next_time = qemu_get_be64(f);
> > -
> > -    if (version_id >= 2) {
> > -        s->timer_expiry = qemu_get_be64(f);
> > -    }
> > -
> > -    if (info->post_load) {
> > -        info->post_load(s);
> > -    }
> > -    return 0;
> > -}
> > -
> >   static const VMStateDescription vmstate_apic_common;
> >   static void apic_common_realize(DeviceState *dev, Error **errp)
> > @@ -408,8 +361,6 @@ static const VMStateDescription vmstate_apic_common = {
> >       .name = "apic",
> >       .version_id = 3,
> >       .minimum_version_id = 3,
> > -    .minimum_version_id_old = 1,
> > -    .load_state_old = apic_load_old,

OK, I see that was changed by 695dcf71 in 2009 before 0.12.0

> >       .pre_load = apic_pre_load,
> >       .pre_save = apic_dispatch_pre_save,
> >       .post_load = apic_dispatch_post_load,
> > diff --git a/hw/pci-host/piix.c b/hw/pci-host/piix.c
> > index 135c645535..2f4cbcbfe9 100644
> > --- a/hw/pci-host/piix.c
> > +++ b/hw/pci-host/piix.c
> > @@ -33,7 +33,6 @@
> >   #include "qapi/error.h"
> >   #include "qemu/range.h"
> >   #include "hw/xen/xen.h"
> > -#include "migration/qemu-file-types.h"
> >   #include "migration/vmstate.h"
> >   #include "hw/pci-host/pam.h"
> >   #include "sysemu/reset.h"
> > @@ -174,28 +173,6 @@ static void i440fx_write_config(PCIDevice *dev,
> >       }
> >   }
> > -static int i440fx_load_old(QEMUFile* f, void *opaque, int version_id)
> > -{
> > -    PCII440FXState *d = opaque;
> > -    PCIDevice *pd = PCI_DEVICE(d);
> > -    int ret, i;
> > -    uint8_t smm_enabled;
> > -
> > -    ret = pci_device_load(pd, f);
> > -    if (ret < 0)
> > -        return ret;
> > -    i440fx_update_memory_mappings(d);
> > -    qemu_get_8s(f, &smm_enabled);
> > -
> > -    if (version_id == 2) {
> > -        for (i = 0; i < PIIX_NUM_PIRQS; i++) {
> > -            qemu_get_be32(f); /* dummy load for compatibility */
> > -        }
> > -    }
> > -
> > -    return 0;
> > -}
> > -
> >   static int i440fx_post_load(void *opaque, int version_id)
> >   {
> >       PCII440FXState *d = opaque;
> > @@ -208,8 +185,6 @@ static const VMStateDescription vmstate_i440fx = {
> >       .name = "I440FX",
> >       .version_id = 3,
> >       .minimum_version_id = 3,
> > -    .minimum_version_id_old = 1,
> > -    .load_state_old = i440fx_load_old,

Changed in 2009 before 0.12; OK

> >       .post_load = i440fx_post_load,
> >       .fields = (VMStateField[]) {
> >           VMSTATE_PCI_DEVICE(parent_obj, PCII440FXState),
> > diff --git a/hw/timer/i8254_common.c b/hw/timer/i8254_common.c
> > index 57bf10cc94..050875b497 100644
> > --- a/hw/timer/i8254_common.c
> > +++ b/hw/timer/i8254_common.c
> > @@ -29,7 +29,6 @@
> >   #include "qemu/timer.h"
> >   #include "hw/timer/i8254.h"
> >   #include "hw/timer/i8254_internal.h"
> > -#include "migration/qemu-file-types.h"
> >   #include "migration/vmstate.h"
> >   /* val must be 0 or 1 */
> > @@ -202,43 +201,6 @@ static const VMStateDescription vmstate_pit_channel = {
> >       }
> >   };
> > -static int pit_load_old(QEMUFile *f, void *opaque, int version_id)
> > -{
> > -    PITCommonState *pit = opaque;
> > -    PITCommonClass *c = PIT_COMMON_GET_CLASS(pit);
> > -    PITChannelState *s;
> > -    int i;
> > -
> > -    if (version_id != 1) {
> > -        return -EINVAL;
> > -    }
> > -
> > -    for (i = 0; i < 3; i++) {
> > -        s = &pit->channels[i];
> > -        s->count = qemu_get_be32(f);
> > -        qemu_get_be16s(f, &s->latched_count);
> > -        qemu_get_8s(f, &s->count_latched);
> > -        qemu_get_8s(f, &s->status_latched);
> > -        qemu_get_8s(f, &s->status);
> > -        qemu_get_8s(f, &s->read_state);
> > -        qemu_get_8s(f, &s->write_state);
> > -        qemu_get_8s(f, &s->write_latch);
> > -        qemu_get_8s(f, &s->rw_mode);
> > -        qemu_get_8s(f, &s->mode);
> > -        qemu_get_8s(f, &s->bcd);
> > -        qemu_get_8s(f, &s->gate);
> > -        s->count_load_time = qemu_get_be64(f);
> > -        s->irq_disabled = 0;
> > -        if (i == 0) {
> > -            s->next_transition_time = qemu_get_be64(f);
> > -        }
> > -    }
> > -    if (c->post_load) {
> > -        c->post_load(pit);
> > -    }
> > -    return 0;
> > -}
> > -
> >   static int pit_dispatch_pre_save(void *opaque)
> >   {
> >       PITCommonState *s = opaque;
> > @@ -266,8 +228,6 @@ static const VMStateDescription vmstate_pit_common = {
> >       .name = "i8254",
> >       .version_id = 3,
> >       .minimum_version_id = 2,
> > -    .minimum_version_id_old = 1,
> > -    .load_state_old = pit_load_old,

Also 2009 pre 0.12

> >       .pre_save = pit_dispatch_pre_save,
> >       .post_load = pit_dispatch_post_load,
> >       .fields = (VMStateField[]) {
> > 
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK

Patch
diff mbox series

diff --git a/hw/acpi/piix4.c b/hw/acpi/piix4.c
index 5742c3df87..1d29d438c7 100644
--- a/hw/acpi/piix4.c
+++ b/hw/acpi/piix4.c
@@ -42,7 +42,6 @@ 
 #include "hw/acpi/memory_hotplug.h"
 #include "hw/acpi/acpi_dev_interface.h"
 #include "hw/xen/xen.h"
-#include "migration/qemu-file-types.h"
 #include "migration/vmstate.h"
 #include "hw/core/cpu.h"
 #include "trace.h"
@@ -205,43 +204,6 @@  static const VMStateDescription vmstate_pci_status = {
     }
 };
 
-static int acpi_load_old(QEMUFile *f, void *opaque, int version_id)
-{
-    PIIX4PMState *s = opaque;
-    int ret, i;
-    uint16_t temp;
-
-    ret = pci_device_load(PCI_DEVICE(s), f);
-    if (ret < 0) {
-        return ret;
-    }
-    qemu_get_be16s(f, &s->ar.pm1.evt.sts);
-    qemu_get_be16s(f, &s->ar.pm1.evt.en);
-    qemu_get_be16s(f, &s->ar.pm1.cnt.cnt);
-
-    ret = vmstate_load_state(f, &vmstate_apm, &s->apm, 1);
-    if (ret) {
-        return ret;
-    }
-
-    timer_get(f, s->ar.tmr.timer);
-    qemu_get_sbe64s(f, &s->ar.tmr.overflow_time);
-
-    qemu_get_be16s(f, (uint16_t *)s->ar.gpe.sts);
-    for (i = 0; i < 3; i++) {
-        qemu_get_be16s(f, &temp);
-    }
-
-    qemu_get_be16s(f, (uint16_t *)s->ar.gpe.en);
-    for (i = 0; i < 3; i++) {
-        qemu_get_be16s(f, &temp);
-    }
-
-    ret = vmstate_load_state(f, &vmstate_pci_status,
-        &s->acpi_pci_hotplug.acpi_pcihp_pci_status[ACPI_PCIHP_BSEL_DEFAULT], 1);
-    return ret;
-}
-
 static bool vmstate_test_use_acpi_pci_hotplug(void *opaque, int version_id)
 {
     PIIX4PMState *s = opaque;
@@ -313,8 +275,6 @@  static const VMStateDescription vmstate_acpi = {
     .name = "piix4_pm",
     .version_id = 3,
     .minimum_version_id = 3,
-    .minimum_version_id_old = 1,
-    .load_state_old = acpi_load_old,
     .post_load = vmstate_acpi_post_load,
     .fields = (VMStateField[]) {
         VMSTATE_PCI_DEVICE(parent_obj, PIIX4PMState),
diff --git a/hw/intc/apic_common.c b/hw/intc/apic_common.c
index aafd8e0e33..375cb6abe9 100644
--- a/hw/intc/apic_common.c
+++ b/hw/intc/apic_common.c
@@ -31,7 +31,6 @@ 
 #include "sysemu/kvm.h"
 #include "hw/qdev-properties.h"
 #include "hw/sysbus.h"
-#include "migration/qemu-file-types.h"
 #include "migration/vmstate.h"
 
 static int apic_irq_delivered;
@@ -262,52 +261,6 @@  static void apic_reset_common(DeviceState *dev)
     apic_init_reset(dev);
 }
 
-/* This function is only used for old state version 1 and 2 */
-static int apic_load_old(QEMUFile *f, void *opaque, int version_id)
-{
-    APICCommonState *s = opaque;
-    APICCommonClass *info = APIC_COMMON_GET_CLASS(s);
-    int i;
-
-    if (version_id > 2) {
-        return -EINVAL;
-    }
-
-    /* XXX: what if the base changes? (registered memory regions) */
-    qemu_get_be32s(f, &s->apicbase);
-    qemu_get_8s(f, &s->id);
-    qemu_get_8s(f, &s->arb_id);
-    qemu_get_8s(f, &s->tpr);
-    qemu_get_be32s(f, &s->spurious_vec);
-    qemu_get_8s(f, &s->log_dest);
-    qemu_get_8s(f, &s->dest_mode);
-    for (i = 0; i < 8; i++) {
-        qemu_get_be32s(f, &s->isr[i]);
-        qemu_get_be32s(f, &s->tmr[i]);
-        qemu_get_be32s(f, &s->irr[i]);
-    }
-    for (i = 0; i < APIC_LVT_NB; i++) {
-        qemu_get_be32s(f, &s->lvt[i]);
-    }
-    qemu_get_be32s(f, &s->esr);
-    qemu_get_be32s(f, &s->icr[0]);
-    qemu_get_be32s(f, &s->icr[1]);
-    qemu_get_be32s(f, &s->divide_conf);
-    s->count_shift = qemu_get_be32(f);
-    qemu_get_be32s(f, &s->initial_count);
-    s->initial_count_load_time = qemu_get_be64(f);
-    s->next_time = qemu_get_be64(f);
-
-    if (version_id >= 2) {
-        s->timer_expiry = qemu_get_be64(f);
-    }
-
-    if (info->post_load) {
-        info->post_load(s);
-    }
-    return 0;
-}
-
 static const VMStateDescription vmstate_apic_common;
 
 static void apic_common_realize(DeviceState *dev, Error **errp)
@@ -408,8 +361,6 @@  static const VMStateDescription vmstate_apic_common = {
     .name = "apic",
     .version_id = 3,
     .minimum_version_id = 3,
-    .minimum_version_id_old = 1,
-    .load_state_old = apic_load_old,
     .pre_load = apic_pre_load,
     .pre_save = apic_dispatch_pre_save,
     .post_load = apic_dispatch_post_load,
diff --git a/hw/pci-host/piix.c b/hw/pci-host/piix.c
index 135c645535..2f4cbcbfe9 100644
--- a/hw/pci-host/piix.c
+++ b/hw/pci-host/piix.c
@@ -33,7 +33,6 @@ 
 #include "qapi/error.h"
 #include "qemu/range.h"
 #include "hw/xen/xen.h"
-#include "migration/qemu-file-types.h"
 #include "migration/vmstate.h"
 #include "hw/pci-host/pam.h"
 #include "sysemu/reset.h"
@@ -174,28 +173,6 @@  static void i440fx_write_config(PCIDevice *dev,
     }
 }
 
-static int i440fx_load_old(QEMUFile* f, void *opaque, int version_id)
-{
-    PCII440FXState *d = opaque;
-    PCIDevice *pd = PCI_DEVICE(d);
-    int ret, i;
-    uint8_t smm_enabled;
-
-    ret = pci_device_load(pd, f);
-    if (ret < 0)
-        return ret;
-    i440fx_update_memory_mappings(d);
-    qemu_get_8s(f, &smm_enabled);
-
-    if (version_id == 2) {
-        for (i = 0; i < PIIX_NUM_PIRQS; i++) {
-            qemu_get_be32(f); /* dummy load for compatibility */
-        }
-    }
-
-    return 0;
-}
-
 static int i440fx_post_load(void *opaque, int version_id)
 {
     PCII440FXState *d = opaque;
@@ -208,8 +185,6 @@  static const VMStateDescription vmstate_i440fx = {
     .name = "I440FX",
     .version_id = 3,
     .minimum_version_id = 3,
-    .minimum_version_id_old = 1,
-    .load_state_old = i440fx_load_old,
     .post_load = i440fx_post_load,
     .fields = (VMStateField[]) {
         VMSTATE_PCI_DEVICE(parent_obj, PCII440FXState),
diff --git a/hw/timer/i8254_common.c b/hw/timer/i8254_common.c
index 57bf10cc94..050875b497 100644
--- a/hw/timer/i8254_common.c
+++ b/hw/timer/i8254_common.c
@@ -29,7 +29,6 @@ 
 #include "qemu/timer.h"
 #include "hw/timer/i8254.h"
 #include "hw/timer/i8254_internal.h"
-#include "migration/qemu-file-types.h"
 #include "migration/vmstate.h"
 
 /* val must be 0 or 1 */
@@ -202,43 +201,6 @@  static const VMStateDescription vmstate_pit_channel = {
     }
 };
 
-static int pit_load_old(QEMUFile *f, void *opaque, int version_id)
-{
-    PITCommonState *pit = opaque;
-    PITCommonClass *c = PIT_COMMON_GET_CLASS(pit);
-    PITChannelState *s;
-    int i;
-
-    if (version_id != 1) {
-        return -EINVAL;
-    }
-
-    for (i = 0; i < 3; i++) {
-        s = &pit->channels[i];
-        s->count = qemu_get_be32(f);
-        qemu_get_be16s(f, &s->latched_count);
-        qemu_get_8s(f, &s->count_latched);
-        qemu_get_8s(f, &s->status_latched);
-        qemu_get_8s(f, &s->status);
-        qemu_get_8s(f, &s->read_state);
-        qemu_get_8s(f, &s->write_state);
-        qemu_get_8s(f, &s->write_latch);
-        qemu_get_8s(f, &s->rw_mode);
-        qemu_get_8s(f, &s->mode);
-        qemu_get_8s(f, &s->bcd);
-        qemu_get_8s(f, &s->gate);
-        s->count_load_time = qemu_get_be64(f);
-        s->irq_disabled = 0;
-        if (i == 0) {
-            s->next_transition_time = qemu_get_be64(f);
-        }
-    }
-    if (c->post_load) {
-        c->post_load(pit);
-    }
-    return 0;
-}
-
 static int pit_dispatch_pre_save(void *opaque)
 {
     PITCommonState *s = opaque;
@@ -266,8 +228,6 @@  static const VMStateDescription vmstate_pit_common = {
     .name = "i8254",
     .version_id = 3,
     .minimum_version_id = 2,
-    .minimum_version_id_old = 1,
-    .load_state_old = pit_load_old,
     .pre_save = pit_dispatch_pre_save,
     .post_load = pit_dispatch_post_load,
     .fields = (VMStateField[]) {