ChangeLog/2.9
System emulation
Incompatible changes
Future incompatible changes
ARM
KVM
MIPS
PowerPC
pSeries
s390
SH
SPARC
TileGX
Tricore
x86
Xen
SMI broadcast
The pc-q35-2.9 machine type now offers SMI feature negotiation to interested guest firmware. The negotiation interface resembles virtio-1.0, with the etc/smi/supported-features, etc/smi/requested-features, and etc/smi/features-ok fw_cfg files. Currently one bit can be negotiated by guest firmware, ICH9_LPC_SMI_F_BROADCAST_BIT, which causes QEMU to inject a syncronous SMI (triggered through APM_CNT_IOPORT) on all VCPUs at once. This benefits the edk2 SMM driver stack as built into OVMF.
Device emulation and assignment
ACPI
The QEMU linker/loader command set has been extended with WRITE_POINTER. It enables guest firmware to communicate GPAs to QEMU that fall in memory areas that were allocated by the guest firmware. Such information lets QEMU device models write to guest RAM at the right locations, when the guest OS is supposed to find the same locations via ACPI objects. (For linking those ACPI objects, the existent ADD_POINTER command is sent to the guest firmware.) The first user for WRITE_POINTER is the VMGENID device.
Block devices
Network devices
SCSI
PCI/PCIe
USB
VFIO
virtio
Xen
fw_cfg
The DMA interface to fw_cfg now supports writeable blobs.
The fw_cfg_io and fw_cfg_mem devices now have more slots for files; the FW_CFG_FILE_SLOTS constant has been replaced with the (internal only) x-file-slots property. The property can be further raised in future machine types if absolutely necessary.