]> git.ipfire.org Git - ipfire-2.x.git/commit
qemu: Update to version 10.0.2
authorAdolf Belka <adolf.belka@ipfire.org>
Thu, 19 Jun 2025 20:20:46 +0000 (22:20 +0200)
committerMichael Tremer <michael.tremer@ipfire.org>
Mon, 23 Jun 2025 09:32:36 +0000 (09:32 +0000)
commit349fe1e84ae2ed3b31eb99b9980af0722e40b352
tree51498b6f453ecde330fa788e7f5620dbf976e5c5
parent5536d27c0dec020cff144b89623cc04f87b7b7eb
qemu: Update to version 10.0.2

- Update from version 9.2.0 to 10.0.2
- Update of rootfile
- Removal of sched-attr patch as this is now built into the source tarball.
- Changelog
    10.0
Removed features and incompatible changes
Consult the 'Removed features' page for details of suggested replacement
 functionality.
New deprecated options and features
    The -old-param option (used for booting some ancient Arm kernels) has been
     deprecated, as none of the boards QEMU supports need it.
    The Arm PXA2xx CPUs and the iwMMXt emulation have been deprecated and will
     be removed in a future release.
Consult the "Deprecated Features" chapter of the QEMU System Emulation User's
 Guide for further details of the deprecations and their suggested replacements.
Arm
    iwMMXt emulation and the PXA2xx CPUs have been deprecated and will be
     removed in a future release. (You were only using this if you explicitly
     selected a pxa2xx CPU type on the command line or by environment variable.)
    When emulating FEAT_PAUTH, the default pointer authentication algorithm
     has been changed from the architected QARMA5 algorithm to QEMU's
     implementation-defined algorithm. This is non-cryptographic but is
     significantly faster, which is what most users will want. If you need the
     architected algorithm you can select it with the 'pauth-qarma5'
     CPU option, e.g. "-cpu max,pauth-qarma5=on".
    The CPU now emulates the Secure EL2 physical and virtual timers
    New CPU architectural features emulated:
        FEAT_AFP
        FEAT_RPRES
        FEAT_XS
    The Stellaris boards now model both I2C controllers
    The 'virt' board now has a 'highmem-mmio-size' property to allow
     configuring a larger PCIe MMIO region; this can be useful when passing
     through a lot of PCI devices with large MMIO BARs to a VM.
    New board models:
        "npcm845-evb": NPCM845 Evaluation board
        "imx8mp-evk": i.MX 8M Plus EVK board
HPPA
    New SeaBIOS-hppa version 18 with lots of fixes and enhancements
    Emulate up to 256 GB RAM on 64-bit guests
    Speed up translation time
    Improve virtual CPU reset function
    Support space register hashing via diag registers as required by 64-bit HP-UX
    Add emulation of Diva GSP ("Guardian Service Processor" / BMC) PCI boards
    Artist graphic card can be disabled on command line with "-global
     artist.disable=true"
    Added Astro LLMIO support, which allows adding other graphic cards, e.g.
     with "-device ati-vga"
LoongArch
    KVM support cpu hotplug.
    kVM support paravirt ipi.
    KVM support kvm steal time.
    KVM support virtual extioi feature.
ISA and Extensions
    Support riscv-iommu-sys device
    Introduce svukte ISA extension
    Support ssstateen extension
    Reduce the overhead for simple RISC-V vector unit-stride loads and stores
    Add 'sha' support
    Add traces for exceptions in user mode
    Update Pointer Masking to Zjpm v1.0
    Add Smrnmi support
    Add RISC-V Counter delegation ISA extension support
    Add support for Smdbltrp and Ssdbltrp extensions
    Introduce a translation tag for the IOMMU page table cache
    Support Supm and Sspm as part of Zjpm v1.0
Machines
    Deprecate the default RISC-V machine
    Add Tenstorrent Ascalon CPU
    Support for RV64 Xiangshan Nanhu CPU
    Add AIA userspace irqchip_split support
    Add Microblaze V generic board
    Support 64-bit address of initrd
    Add V bit to GDB priv reg
Fixes and Misc
    Correct the validness check of iova
    Fix APLIC in_clrip and clripnum write emulation
    Upgrade ACPI SPCR table to support SPCR table revision 4 format
    Fix timebase-frequency when using KVM acceleration
    Convert htif debug prints to trace event
s390x
    Add feature definitions and CPU model for the generation 17 mainframe CPU
    Add support for virtio-mem on s390x
    Fix CPU emulation bugs with the PPNO and MCV instructions
    Allow bypassing IOMMU for PCI devices for enhanced performance
x86
    Faster emulation of string instructions.
    ClearwaterForest cpu model
    SierraForest-v2 cpu model (for changes vs V1 see commit c597ff5339)
ACPI / SMBIOS
    Workaround 'PCI Label Id' Windows bug, which is normally harmless but on
     localized versions can lead to guest hangs (commit 0b053391985)
Block devices
    The 'virtio-scsi' device has gained true multiqueue support where different
     queues of a single controller can be processed by different I/O threads
     (this catches up to the `virtio-blk` support that was added in QEMU 9.0).
     This can improve scalability in cases where the guest submitted enough
     I/O to saturate the host CPU running a single I/O thread processing the
     virtio-scsi requests. Multiple I/O threads can be configured using the
     new 'iothread-vq-mapping' property.
    Add new handshake-max-seconds optional parameter to nbd-server-start QMP
     command, and counterpart --handshake-limit option to qemu-nbd. This
     allows fine-tuning the duration allowed for client negotiation during
     integration testing.
    qemu-nbd no longer hangs on exit when run as a daemon (the --fork
     command-line option) when qemu is built with the simple trace backend.
Graphics
    Add new 'apple-gfx-pci' and 'apple-gfx-mmio' devices which use the macOS
     host's ParavirtualizedGraphics.framework to provide accelerated graphics
     to macOS guests. 'apple-gfx-pci' is intended for use on x86-64,
     'apple-gfx-mmio' replicates the graphics device implemented by the
     Virtualization.framework from the aarch64 version of macOS.
IPMI
    Multiple different internal BMCs are now supported.
    The "Get Channel Info" command is now implemented in the internal BMC.
    Add support for the "don't log" flag in the set watchdog command. This
     will prevent watchdog timer events being added to the IPMI event log.
    Return an error if invalid bits are set in the "Set BMC Global Enables"
     command in the internal BMC.
VFIO
    Improved support for IGD passthrough on all Intel Gen 11 and 12 devices
    Refactored dirty tracking engine to include VFIO state in calc-dirty-rate
    Improved error reporting for MMIO region mapping failures
    Improved property documentation
    Implemented basic PCI PM capability backing
    Added multifd support for VFIO migration
    Added support for old ATI GPUs (x550)
    Deprecated vfio-plaform
    Misc fixes
virtio
    virtio-mem is now also supported on s390x
    virtio-balloon guests stats are now cleared (set to zero) upon
     device/machine reset.
9pfs
    Fix a regression regarding CVE-2023-2861 with security_model=passthrough
     which caused certain sockets on guest to fail (bug #2337, commit b5e3f63a).
    multidevs=remap is new default behaviour (see commit a2f17bd4).
Audio
    -audio dbus learned "nsamples" option, to set number of samples per
     read/write
Character devices
    "hub": new chardev, aggregate multiple chardev backends
GUI
    VC: add support for cursor DECSC and DECRC commands
    VC: implement DCH (delete) and ICH (insert) commands
    VC: various parsing/display fixes
GDBStub
    linux-user processes can defer connection using -g <port>,suspend=n
TCG Plugins
    core plugin code is now only built once
Migration
    Fixed regressions in s390x (#2704) and pre-9.0 to post-9.1 migrations with
     multifd capability (#2720)
    Fixed long-standing bug with paused VMs (#686)
    New migration mode "cpr-transfer" to support live updates (documentation).
Block device backends and tools
    The Linux AIO and io_uring backends can now make use of the RWF_DSYNC flag
     for FUA write requests instead of emulating it with a normal write
     followed by an fdatasync() call. This can improve performance for guest
     disks with disabled write cache significantly (cache=writethrough and
     cache=directsync result in such configurations), in particular if the
     host disk is already operating in a write through cache mode.
    The user can now actively manage if nodes are active or inactive. Amongst
     others, this is required to perform safe live migration with a
     qemu-storage-daemon based backend. It also allows starting block device
     operation on the live migration destination of a paused VM without first
     resuming the VM (which was previously the only way to activate images).
    The vpc block driver has been fixed to handle VHD images exported from
     Azure more correctly
runtime
    Improved networking emulation regarding netlink and multicast
PowerPC
    Added /proc/cpuinfo file emulation
Guest agent
    Implement a 'guest-get-load' command (Linux only)
    Don't daemonize before the channel is initialized
 This changes the exit code when QGA fails with the daemonize option
    Optimize the freeze-hook script logic of logging errors
 Log to syslog if the file log is unavailable
    fsfreeze command: Skip bind mounts in the FS list
Documentation
    All QEMU Machine Protocol (QMP) interface documentation (QEMU, QEMU Storage
     Daemon, QEMU Guest Agent) pages have been drastically overhauled,
     featuring a new look and layout.
    New QMP reference indices have been added per-API: QEMU QMP Index,
     QEMU Storage Daemon QMP Index, and QEMU Guest Agent QMP Index. The
     indices are sorted both per-type (Commands, Events, data types) and
     alphabetically; providing a convenient one-page reference for all
     available Commands and Events for a given interface.
    All Commands, Events, and all documentation-referenced types are now
     cross-reference-able; with clickable cross-references inserted in many
     cases to make navigating complex commands, events, and types much easier.
     References that aren't generated from metadata but are instead
     "hardcoded" in the source documentation have not yet been converted, but
     all generated references have been. (i.e. all type names for
     arguments/members, return values, and "The members of..." pointers are
     now clickable.)
    Some return types are still omitted where they are undocumented, but this
     will be rectified for next release.
    Some build-time conditional information ("if", "ifcond") is temporarily
     missing from the new documentation. For commands, events, or
     members/values/arguments that are only conditionally available, please
     consult the runtime introspection data to determine availability for a
     given binary, as per usual. This will also be rectified for the next
     release.
Support for device models written in the Rust programming language is still
 considered experimental, and does not have full feature parity compared to
 QEMU binaries that are compiled with --disable-rust. However, it has matured
 enough that developing new devices can (almost entirely) be done in the safe
 subset of Rust.
For now, binaries compiled with --enable-rust link statically to Rust libstd.
 This is not suitable for e.g. Linux distributions but could be okay for other,
 special purpose distributions of QEMU.
The current minimum supported Rust version is 1.63.0, with plans to move to
 1.77.0. This means that:
    --enable-rust does not work with Debian bullseye's rustc packages.
     in the future, --enable-rust will not support Debian bookworm's rustc for
     the mips64el architecture, and will require the rustc-web package for
     other architectures.
Debian bullseye and bookworm otherwise remains supported platforms for QEMU;
 Debian bullseye will cease to be a supported platform as soon as Debian
 trixie is released.
Testing and CI
    updated baseline tuxrun tests to 19/11/2024 images
    added new test for virtio-vulkan (needs upto date build with access to dri)
    qtest clock_set and clock_step now check return values
    riscv64 cross compile now based on trixie

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
config/rootfiles/packages/qemu
lfs/qemu
src/patches/qemu-9.2.0-sched-attr.patch [deleted file]