Path to this page:
Subject: CVS commit: pkgsrc/emulators/qemu
From: Ryo ONODERA
Date: 2022-05-19 18:10:15
Message id: 20220519161015.F20A2FAEB@cvs.NetBSD.org
Log Message:
qemu: Update to 7.0.0
CHangelog:
== System emulation ==
=== Incompatible changes ===
Consult the [https://qemu-project.gitlab.io/qemu/about/removed-features.html \
'Removed features' ] page for details of suggested replacement functionality
=== New deprecated options and features ===
Consult the [https://qemu-project.gitlab.io/qemu/about/deprecated.html \
"Deprecated Features"] chapter of the QEMU System Emulation User's \
Guide for further details of the deprecations and their suggested replacements.
Additional note: The QEMU project currently considers to drop the slirp \
submodule in future releases, i.e. the QEMU tarball won't embed the code for \
user mode networking in the future anymore, so that an external libslirp \
installation is required. Most OS distribution already ship a libslirp package \
nowadays (except for OpenBSD which is already known and hopefully will be fixed \
soon), but if you are still using another OS distribution that does not provide \
a libslirp package yet, please send a note to the \
[[Contribute/MailingLists|qemu-devel mailing list]] and ask your OS vendor to \
include such a package in the next release.
=== 68k ===
=== Alpha ===
=== Arm ===
* The virt board has gained a new control knob to disable passing a RNG seed in \
the DTB (dtb-kaslr-seed)
* The AST2600 SoC now supports a dummy version of the i3c device
* The virt board can now run guests with KVM on hosts with restricted IPA ranges
* The virt board now supports virtio-mem-pci
* The virt board now supports specifying the guest CPU topology
* On the virt board, we now enable PAuth when using KVM or hvf and the host CPU \
supports it
* xlnx-versal-virt now emulates the PMC SLCR
* xlnx-versal-virt now emulates the OSPI flash memory controller
* xlnx-zynqmp now models the CRF and APU control
* The Arm GICv3 ITS now emulates the previously missing MOVI and MOVALL commands
* New board model: mori-bmc
* We now support emulating FEAT_LVA
* We now support emulating FEAT_LPA
* We now support emulating FEAT_LPA2. (Note that this is disabled by default for \
the 'virt' board's versioned machine types prior to 7.0 (ie 'virt-6.2', \
'virt-6.1', etc) because Linux kernels prior to v5.12 have a bug which means \
they will not boot on a CPU which has LPA2.)
=== AVR ===
=== Hexagon ===
=== HPPA ===
* Support up to 16 virtual CPUs
* Improved artist graphics driver for HP-UX VDE, HP-UX CDE and Linux framebuffer
* Mouse cursor focus and positioning now works much better under HP-UX X11
* Emulated TOC button can be triggered with "nmi" in the qemu monitor
* Added support for Qemu SCSI boot order option
* Possibility to change system HOSTID for HP-UX and Linux
* Added firmware 16x32 pixel bitmap font for use on HDPI screens
* Ability to choose serial or graphical console as default firmware console
=== Microblaze ===
=== MIPS ===
=== Nios2 ===
=== OpenRISC ===
==== Machines ====
* Support up to 4 cores up from 2 on the OpenRISC sim machine
* Support loading an external initrd image on the OpenRISC sim machine
* OpenRISC sim machine now automatically generates a device tree and passes it \
to the kernel
=== PowerPC ===
* Updates of PowerNV and pSeries documentation
==== Machines ====
* Deprecation of taihu machine
* Large rework of PPC405 machine
* General cleanup for Mac machines
* PowerNV PHB3/4 cleanups
* PowerNV XIVE improvements
* Extension of the powernv10 machine with XIVE2 ans PHB5 models
* New SLOF for PPC970 and POWER5+
* ppc: nested KVM HV for spapr virtual hypervisor
* spapr: nvdimm: Introduce spapr-nvdimm device
==== Extensions/removal====
* Removal of 401/403 CPUs
* Removal of 601/602 CPUs
* Removal of SoftTLBs support for PPC74x CPUs
* Initial support for PMU
* PMU EBB support
* Rework of powerpc exception handling
* Support for new ISA31 instructions
* Large cleanup of FPU implementation
==== Fixes ====
* Fixes for ivshmem
* Fixes for POWER5+ pseries
* Fixes for FPU exceptions
* Fixes for exception models in MPCx and 60x CPUs
* Fix for e6500 CPU
* Fixes for the 7448 CPU
* Exception and TLB fixes for the 405 CPU
* 603 CPUs fixes
* Book-E exception fixes
* Clang fixes
* VOF installation
* Radix MMU fixes
=== Renesas RX ===
=== Renesas SH ===
=== RISC-V ===
==== Extensions ====
* Add support for ratified 1.0 Vector extension
* Support for the Zve64f and Zve32f extensions
* Drop support for draft 0.7.1 Vector extension
* Support Zfhmin and Zfh extensions
* RISC-V KVM support
* Mark Hypervisor extension as non experimental
* Enable Hypervisor extension by default
* Support for svnapot, svinval and svpbmt extensions
* Experimental support for 128-bit CPUs
* Initial support for XVentanaCondOps custom extension
* stval and mtval support for illegal instructions
* Support for the UXL field in xstatus
* Add support for zfinx, zdinx and zhinx{min} extensions
==== Machines ====
* OpenSBI binary loading support for the Spike machine
* Improve kernel loading for non-Linux platforms
* SiFive PDMA 64-bit support
* Support 32 cores on the virt machine
* Add AIA support for virt machine
==== Fixes ====
* Fix illegal instruction when PMP is disabled
* Corrections for the Vector extension
* Fixes for OpenTitan timer
* Correction of OpenTitan PLIC stride length
* Removal of OpenSBI ELFs
* Fix trap cause for RV32 HS-mode CSR access from RV64 HS-mode
* Fixup OpenTitan SPI address
=== s390x ===
* Support Linux kernel command line length of more than 896 bytes (if the guest \
kernel supports it, too)
* Emulate the instructions from the "Miscellaneous-Instruction-Extensions \
Facility 3" (a z15 extension)
* Fixes for various emulated instructions (SLDA, SRDA, SLAG, BRASL, BRCL)
=== SPARC ===
=== Tricore ===
=== x86 ===
* Support for Intel AMX.
==== KVM ====
==== x86_64 ====
==== AMD SEV ====
=== Xtensa ===
=== Device emulation and assignment ===
==== ACPI / SMBIOS ====
* advertise i8042 in FADT if it is present (5334bf5703)
* new ''acpi-erst'' device, for logging guest evens using standard ACPI ERST \
interface (0ef0506e559)
* added support for new ''processor-id'' SMBIOS option (cb5fb04fe6)
* fixed SMBIOS memory handles overlap for large VMs (8Tb and more) (a379d4550c4)
* added 'SMBIOS 3.0' support in SeaBIOS, in QEMU it's opt-in feature, use \
''-machine smbios-ep=3-0'' option to enable it
* fixed regression in ACPI table headers where OEM ID and OEM Table ID weren't \
padded correctly (748c030f360)
* fixed QEMU crash when started with user provided SLIC table (8cdb99af45)
* arm/virt: add VIOT table to describe virtio-iommu (cf1a5cc935c)
* x86: 'pc' machine type: fixed acpi-index not being migrated which might result \
in NIC name change if migration happens when guest is asking QEMU for it. \
Migration should work properly since 7.0 and newer machine types, for older \
machine types migration of acpi-index is broken and can't be fixed for \
compatibility reasons.
==== Audio ====
==== Block devices ====
==== Graphics ====
==== I2C ====
==== Input devices ====
==== IPMI ====
==== Multi-process QEMU ====
==== Network devices ====
==== NVDIMM ====
==== NVMe ====
===== Emulated NVMe Controller =====
==== PCI/PCIe ====
* Q35: fix PCIe device becoming disabled after migration when ACPI based PCI \
hotplug is used (6b0969f1ec)
* initial bits of SR/IOV support (250346169)
* arm/virt: fixed PXB interrupt routing (e609301b45)
* arm/virt: support for virtio-mem-pci (b1b87327a9)
==== SCSI ====
==== SD card ====
==== SMBIOS ====
==== TPM ====
==== USB ====
==== VFIO ====
==== virtio ====
==== Xen ====
==== fw_cfg ====
==== 9pfs ====
* \
[https://gitlab.com/qemu-project/qemu/-/commit/e64e27d5cb103b7764f1a05b6eda7e7fedd517c5 \
Fixed 9p server crash] ([https://gitlab.com/qemu-project/qemu/-/issues/841 issue \
#841]) that happened on some host systems due to incorrect (system dependant) \
handling of struct dirent size.
* \
[https://gitlab.com/qemu-project/qemu/-/commit/f45cc81911adc7726e8a2801986b6998b91b816e \
Added support for macOS hosts].
==== virtiofs ====
* Fix for CVE-2022-0358 - behaviour with supplementary groups and SGID directories
* Improved security label support
* The virtiofsd in qemu is now starting to be deprecated; please start using and \
contributing to [https://gitlab.com/virtio-fs/virtiofsd Rust virtiofsd]
==== Semihosting ====
* We now generate sane numbers for SYS_HEAPINFO under system emulation
=== Audio ===
=== Character devices ===
=== Crypto subsystem ===
=== Authorization subsystem ===
=== GUI ===
* a new [https://www.qemu.org/docs/master/interop/dbus-display.html \
"-display dbus"] option to export the display for external processes. \
A [https://gitlab.com/marcandre.lureau/qemu-display/ gtk4-rs based widget] is in \
the works (for future Boxes, virt-viewer etc). Potential other users include \
remote desktop protocols.
=== GDBStub ===
=== TCG Plugins ===
* new coverage plugin in contrib which support drcov format traces
=== Host support ===
=== Memory backends ===
=== Migration ===
=== Monitor ===
==== QMP ====
==== HMP ====
=== Network ===
=== Block device backends and tools ===
* Fleecing backup has been made more flexible: Fleecing backup means exposing a \
temporary snapshot of an actively used image, and having the copy-before-write \
(CBW) filter (or historically the backup block job) copy data there from areas \
written by the guest to the active image, before they are overwritten, so that \
the snapshot keeps representing the point-in-time state of the disk when the \
snapshot was created. This snapshot can then be read (either by qemu itself \
using the backup or mirror block jobs, or by outside users e.g. via an NBD \
export) to create a backup. As of qemu 7.0, instead of reading the snapshot \
image directly, it can also be accessed through the new snapshot-access block \
driver, by installing such a node on top of the CBW filter. Doing so has some \
advantages over accessing the snapshot image directly; for example, the image \
can then be in any format (not just COW formats like qcow2), because the CBW \
filter keeps track of its allocation bitmap. Once an a
rea has been backed up, users can send a discard request to mark it as done, so \
that the CBW filter will not potentially copy it to the snapshot image on a \
subsequent guest write. Furthermore, the CBW filter now has a bitmap parameter \
that allows limiting its scope as specified by the bitmap at the time the CBW \
filter node is created.
* A bug in caching block status has been fixed that was causing over-eager \
treatment of a format layer as all data rather than detecting holes, if an \
earlier block status query had merely been checking for which portions of the \
backing chain were allocated. While the bug did not affect guest-visible data, \
it caused some performance regressions, particularly noticeable and easy to \
trigger when using 'qemu-nbd --allocation-depth'.
* The ''qemu-nbd'' program has gained a new ''--tls-hostname'' parameter to \
allow TLS validation against a different hostname, such as when setting up TLS \
through a TCP tunnel, and now supports TLS over Unix sockets.
* The SSH driver supports sha256 fingerprints with pre-blockdev command line \
configuration syntax.
* The SSH driver will print the actual fingerprint and its type when failing to \
validate a host key.
=== Tracing ===
=== Miscellaneous ===
* The -sandbox 'spawn' filter, will now correctly block use of the clone syscall \
for spawnnig processes, while allowing thread creation
* The -sandbox 'spawn' filter, will now entirely block use of the clone3 syscall \
entirely since there is no way to access its flags parameter from seccomp to \
distinguish thread vs process creation
* The -sandbox 'spawn' filter, will now block setns, unshare and execveat \
syscalls since they are not desired.
== User-mode emulation ==
* fixed a bug that caused issues mapping the ARM commpage on 32 bit builds
=== binfmt_misc ===
=== Hexagon ===
== TCG ==
User-mode emulation (linux-user, bsd-user) will enforce guest alignment \
constraints and raise SIGBUS to the guest program as appropriate.
=== ARM ===
Support for for ARMv4 and ARMv5 hosts has been dropped. These older Arm \
versions do not have support for misaligned memory access; such support was \
added to ARMv6. Since ARMv5 is quite old, it is presumed that such systems do \
not have sufficient RAM to even run QEMU, and so practically speaking no systems \
are impacted.
== Guest agent ==
* Support Windows 11 for <code>guest-get-osinfo</code> command
* Fix memory leaks in Windows <code>guest-get-fsinfo</code> command
== Build Information ==
=== Python ===
=== GIT submodules ===
=== Container Based Builds ===
* a large number of containers are now updated by lcitool
* TESTS and IMAGES environment variables can be used filter again when building \
against all docker targets
=== VM Based Builds ===
=== Build Dependencies ===
* xfs libraries are not needed anymore for build, since the only ioctl used by \
qemu which was defined there got local implementation. With this, \
--enable-xfsctl configure option is also gone.
=== Windows ===
=== Testing and CI ===
Files: