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