QEMU is now entering softfreeze for the 4.0 release (expected in April), so here is the usual summary of s390x changes in that release.
CPU Models
- A cpu model for the z14 GA 2 has been added. Currently, no new features have been added.
- The cpu model for z14 now does, however, include the multiple epoch and PTFF enhancement features per default.
- The ‘qemu’ cpu model now includes the zPCI feature per default. No more prerequisites are needed for pci support (see below).
Devices
- QEMU for s390x is now always built with pci support. If we want to provide backwards compatibility, we cannot simply disable pci (we need the s390 pci host bus); it is easier to simply make pci mandatory. Note that disabling pci was never supported by the normal build system anyway.
- zPCI devices have gained support for instruction counters (on a Linux guest,
these are exposed through
/sys/kernel/debug/pci/<function>/statistics
). - zPCI devices always lacked support for migrating their s390-specific state (not implemented…); if you tried to migrate a guest with a virtio-pci device on s390x, odd things might happen. To avoid surprises, the ‘zpci’ devices are now explicitly marked as unmigratable. (Support for migration will likely be added in the future.)
- Hot(un)plug of the vfio-ap matrix device is now supported.
- Adding a vfio-ap matrix device no longer inhibits usage of a memory ballooner: Memory usage by vfio-ap does not clash with the concept of a memory balloon.
TCG
- Support for the floating-point extension facility has been added.
- The first part of support for z13 vector instructions has been added (vector support instructions). Expect support for the remaining vector instructions in the next release; it should support enough of the instructions introduced with z13 to be able to run a distribution built for that cpu.