In 2012, QEMU had a bug where it exposed QEMU version information
to the guest, meaning a QEMU upgrade would expose different
hardware to the guest OS even if the same machine-type is being
used.

The bug was fixed by commit 93bfef4c6e4b23caea9d51e1099d06433d8835a4,
on all machines up to pc-1.0. But we kept introducing the same
bug on all newer machines since then. That means we are breaking
guest ABI every time QEMU was upgraded.

Fix this by setting the hw_version on all PC machines, making
sure the hardware won't change when upgrading QEMU.

Eduardo Habkost (3):
  pc: Set hw_version on all machine classes
  osdep: Rename qemu_{get,set}_version() to qemu_{,set_}hw_version()
  megasas: Use qemu_hw_version() instead of QEMU_VERSION

 hw/arm/nseries.c     |  2 +-
 hw/i386/pc_piix.c    | 13 +++++++++++++
 hw/i386/pc_q35.c     | 10 ++++++++++
 hw/ide/core.c        |  2 +-
 hw/scsi/megasas.c    |  2 +-
 hw/scsi/scsi-bus.c   |  2 +-
 hw/scsi/scsi-disk.c  |  2 +-
 include/qemu/osdep.h |  4 ++--
 target-i386/cpu.c    |  2 +-
 util/osdep.c         | 10 +++++-----
 vl.c                 |  2 +-
 11 files changed, 37 insertions(+), 14 deletions(-)

-- 
2.1.0


Reply via email to