qemu-e2k/hw/i386
Eduardo Habkost de796d93f5 pc: Set hw_version on all machine classes
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 93bfef4c6e, 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.

Note that QEMU_VERSION was "1.0" in QEMU 1.0, but starting on QEMU
1.1.0, it started following the "x.y.0" pattern. We have to follow it,
to make sure we use the right QEMU_VERSION string from each QEMU
release.

The 2.5 machine classes could have hw_version unset, because the default
value for qemu_get_version() is QEMU_VERSION. But I decided to set it
explicitly to QEMU_VERSION so we don't forget to update it to "2.5.0"
after we release 2.5.0 and create a 2.6 machine class.

Reported-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Message-Id: <1446233769-7892-2-git-send-email-ehabkost@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2015-11-04 15:02:30 +01:00
..
kvm kvm: Pass PCI device pointer to MSI routing functions 2015-10-19 10:13:07 +02:00
xen xen-platform: Replace assert() with appropriate error reporting 2015-10-26 11:32:24 +00:00
acpi-build.c acpi: avoid potential uninitialized access to cpu_hp_io_base 2015-08-13 14:08:30 +03:00
acpi-build.h
acpi-dsdt-cpu-hotplug.dsl
acpi-dsdt-dbug.dsl
acpi-dsdt-hpet.dsl
acpi-dsdt-isa.dsl
acpi-dsdt-mem-hotplug.dsl acpi: add hardware implementation for memory hot unplug 2015-04-27 21:09:07 +02:00
acpi-dsdt.dsl make: fix where dependency *.d are stored. 2015-08-13 14:08:24 +03:00
acpi-dsdt.hex.generated acpi: update generated files 2015-03-04 16:05:32 +01:00
intel_iommu_internal.h
intel_iommu.c intel_iommu: Add support for translation for devices behind bridges 2015-10-18 10:05:43 +03:00
kvmvapic.c
Makefile.objs hw/pci-assign: split pci-assign.c 2015-09-10 12:04:27 +00:00
multiboot.c i386: Rename ELF_MACHINE to be x86 specific 2015-09-25 12:04:44 +02:00
multiboot.h
pc_piix.c pc: Set hw_version on all machine classes 2015-11-04 15:02:30 +01:00
pc_q35.c pc: Set hw_version on all machine classes 2015-11-04 15:02:30 +01:00
pc_sysfw.c Fix bad error handling after memory_region_init_ram() 2015-09-18 14:39:29 +02:00
pc.c Revert "memhp: extend address auto assignment to support gaps" 2015-10-29 11:11:07 +02:00
pci-assign-load-rom.c hw/pci-assign: split pci-assign.c 2015-09-10 12:04:27 +00:00
q35-acpi-dsdt.dsl make: fix where dependency *.d are stored. 2015-08-13 14:08:24 +03:00
q35-acpi-dsdt.hex.generated acpi: update generated files 2015-03-04 16:05:32 +01:00