diff --git a/_service b/_service index 853a6a2..190a15c 100644 --- a/_service +++ b/_service @@ -1,8 +1,8 @@ git - https://gitlab.suse.de/virtualization/qemu.git - v8.2-sle15sp6 + https://github.com/opensuse/qemu.git + factory @PARENT_TAG@ [v]?([^-+a-z]+)(.*) \1 diff --git a/_servicedata b/_servicedata index b55d682..c270981 100644 --- a/_servicedata +++ b/_servicedata @@ -1,6 +1,4 @@ https://github.com/opensuse/qemu.git - 3d43249322bfbd34777557b4b29fbafa72983928 - https://gitlab.suse.de/virtualization/qemu.git - e83e6402af51931a2baa4eb623eadefd589ea833 \ No newline at end of file + 0dbd22c0dd1c7781582a94bc4d4f55daaab27158 \ No newline at end of file diff --git a/common.inc b/common.inc index b407427..6817e30 100644 --- a/common.inc +++ b/common.inc @@ -1,6 +1,6 @@ %define _buildshell /bin/bash -%define sbver 1.16.3_3_ga95067eb +%define sbver 1.16.3_3_gc13ff2cd %define srcdir %{_builddir}/%buildsubdir %define blddir %srcdir/build @@ -46,6 +46,12 @@ %bcond_with xdp %endif +%ifarch %ix86 x86_64 +%bcond_without vmsr_helper +%else +%define vmsr_helper 0 +%endif + # Make it possible to build without spice (for SLE/Leap Micro) %bcond_without spice @@ -100,3 +106,152 @@ Many options are available for defining the emulated environment, including\ traditional devices, direct host device access, and interfaces specific to\ virtualization. +%define disable_everything \\\ + --audio-drv-list= \\\ + --disable-af-xdp \\\ + --disable-alsa \\\ + --disable-attr \\\ + --disable-auth-pam \\\ + --disable-avx2 \\\ + --disable-avx512bw \\\ + --disable-blkio \\\ + --disable-block-drv-whitelist-in-tools \\\ + --disable-bochs \\\ + --disable-bpf \\\ + --disable-brlapi \\\ + --disable-bsd-user \\\ + --disable-bzip2 \\\ + --disable-cap-ng \\\ + --disable-capstone \\\ + --disable-cfi \\\ + --disable-cfi-debug \\\ + --disable-cloop \\\ + --disable-cocoa \\\ + --disable-colo-proxy \\\ + --disable-coreaudio \\\ + --disable-coroutine-pool \\\ + --disable-crypto-afalg \\\ + --disable-curl \\\ + --disable-curses \\\ + --disable-dbus-display \\\ + --disable-debug-graph-lock \\\ + --disable-debug-info \\\ + --disable-debug-mutex \\\ + --disable-debug-remap \\\ + --disable-debug-tcg \\\ + --disable-dmg \\\ + --disable-docs \\\ + --disable-download \\\ + --disable-dsound \\\ + --disable-fdt \\\ + --disable-fuse \\\ + --disable-fuse-lseek \\\ + --disable-gcrypt \\\ + --disable-gettext \\\ + --disable-gio \\\ + --disable-glusterfs \\\ + --disable-gnutls \\\ + --disable-gtk \\\ + --disable-gtk-clipboard \\\ + --disable-guest-agent \\\ + --disable-guest-agent-msi \\\ + --disable-hv-balloon \\\ + --disable-hvf \\\ + --disable-iconv \\\ + --disable-jack \\\ + --disable-kvm \\\ + --disable-l2tpv3 \\\ + --disable-libdaxctl \\\ + --disable-libdw \\\ + --disable-libiscsi \\\ + --disable-libkeyutils \\\ + --disable-libkeyutils \\\ + --disable-libnfs \\\ + --disable-libpmem \\\ + --disable-libssh \\\ + --disable-libudev \\\ + --disable-libusb \\\ + --disable-linux-aio \\\ + --disable-linux-io-uring \\\ + --disable-linux-user \\\ + --disable-lto \\\ + --disable-lzfse \\\ + --disable-lzo \\\ + --disable-malloc-trim \\\ + --disable-membarrier \\\ + --disable-module-upgrades \\\ + --disable-modules \\\ + --disable-mpath \\\ + --disable-multiprocess \\\ + --disable-netmap \\\ + --disable-nettle \\\ + --disable-numa \\\ + --disable-nvmm \\\ + --disable-opengl \\\ + --disable-oss \\\ + --disable-pa \\\ + --disable-parallels \\\ + --disable-pie \\\ + --disable-pipewire \\\ + --disable-pixman \\\ + --disable-plugins \\\ + --disable-png \\\ + --disable-qcow1 \\\ + --disable-qed \\\ + --disable-qom-cast-debug \\\ + --disable-qpl \\\ + --disable-rbd \\\ + --disable-rdma \\\ + --disable-relocatable \\\ + --disable-replication \\\ + --disable-rng-none \\\ + --disable-rutabaga-gfx \\\ + --disable-safe-stack \\\ + --disable-sanitizers \\\ + --disable-sdl \\\ + --disable-sdl-image \\\ + --disable-seccomp \\\ + --disable-selinux \\\ + --disable-slirp \\\ + --disable-slirp-smbd \\\ + --disable-smartcard \\\ + --disable-snappy \\\ + --disable-sndio \\\ + --disable-sparse \\\ + --disable-spice \\\ + --disable-spice-protocol \\\ + --disable-strip \\\ + --disable-system \\\ + --disable-tcg \\\ + --disable-tcg-interpreter \\\ + --disable-tools \\\ + --disable-tpm \\\ + --disable-tsan \\\ + --disable-u2f \\\ + --disable-uadk \\\ + --disable-usb-redir \\\ + --disable-user \\\ + --disable-vde \\\ + --disable-vdi \\\ + --disable-vhdx \\\ + --disable-vhost-crypto \\\ + --disable-vhost-kernel \\\ + --disable-vhost-net \\\ + --disable-vhost-user \\\ + --disable-vhost-user-blk-server \\\ + --disable-vhost-vdpa \\\ + --disable-virglrenderer \\\ + --disable-virtfs \\\ + --disable-vnc \\\ + --disable-vnc-jpeg \\\ + --disable-vnc-sasl \\\ + --disable-vpc \\\ + --disable-vte \\\ + --disable-vvfat \\\ + --disable-werror \\\ + --disable-whpx \\\ + --disable-xen \\\ + --disable-xen-pci-passthrough \\\ + --disable-xkbcommon \\\ + --disable-zstd \\\ + --without-default-devices diff --git a/qemu-8.2.6.obscpio b/qemu-8.2.6.obscpio deleted file mode 100644 index 4e39287..0000000 --- a/qemu-8.2.6.obscpio +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:346fe033bd82902c468299eb87d2ed703f7e5c4ecf8aae98a0654c39e2906cb4 -size 848359951 diff --git a/qemu-9.1.0.obscpio b/qemu-9.1.0.obscpio new file mode 100644 index 0000000..00351cd --- /dev/null +++ b/qemu-9.1.0.obscpio @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:995e37eb713e041c4e1a3fed033e14b09fbc49ec887a334f24d818b34ed20de5 +size 850211343 diff --git a/qemu-linux-user.spec b/qemu-linux-user.spec index 5725e90..6b587ab 100644 --- a/qemu-linux-user.spec +++ b/qemu-linux-user.spec @@ -27,7 +27,7 @@ URL: https://www.qemu.org/ Summary: CPU emulator for user space License: BSD-2-Clause AND BSD-3-Clause AND GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.1-or-later AND MIT Group: System/Emulators/PC -Version: 8.2.6 +Version: 9.1.0 Release: 0 Source0: qemu-%{version}.tar.xz Source1: common.inc @@ -88,7 +88,6 @@ syscall layer occurs on the native hardware and operating system. %_bindir/qemu-mipsel %_bindir/qemu-mipsn32 %_bindir/qemu-mipsn32el -%_bindir/qemu-nios2 %_bindir/qemu-or1k %_bindir/qemu-ppc %_bindir/qemu-ppc64 @@ -137,7 +136,6 @@ cd %blddir # for them. # TODO: Check whether we want to enable the followings: -# * avx512f # * debug-info # * fuse # * malloc-trim @@ -167,142 +165,7 @@ EXTRA_CFLAGS="$(echo %{optflags} | sed -E 's/-[A-Z]?_FORTIFY_SOURCE[=]?[0-9]*//g --prefix=%_prefix \ --sysconfdir=%_sysconfdir \ --with-pkgversion="%(echo '%{distro}' | sed 's/ (.*)//')" \ - --disable-af-xdp \ - --disable-alsa \ - --disable-attr \ - --disable-auth-pam \ - --disable-avx2 \ - --disable-avx512f \ - --disable-block-drv-whitelist-in-tools \ - --disable-bochs \ - --disable-bpf \ - --disable-brlapi \ - --disable-bsd-user \ - --disable-bzip2 \ - --disable-cap-ng \ - --disable-capstone \ - --disable-cfi \ - --disable-cfi-debug \ - --disable-cloop \ - --disable-cocoa \ - --disable-coreaudio \ - --disable-coroutine-pool \ - --disable-crypto-afalg \ - --disable-curl \ - --disable-curses \ - --disable-dbus-display \ - --disable-debug-info \ - --disable-debug-mutex \ - --disable-debug-tcg \ - --disable-dmg \ - --disable-docs \ - --disable-download \ - --disable-dsound \ - --disable-fdt \ - --disable-fuse \ - --disable-fuse-lseek \ - --disable-gcrypt \ - --disable-gettext \ - --disable-gio \ - --disable-glusterfs \ - --disable-gnutls \ - --disable-gtk \ - --disable-guest-agent \ - --disable-guest-agent-msi \ - --disable-hv-balloon \ - --disable-hvf \ - --disable-iconv \ - --disable-jack \ - --disable-kvm \ - --disable-l2tpv3 \ - --disable-libdaxctl \ - --disable-libiscsi \ - --disable-libkeyutils \ - --disable-libnfs \ - --disable-libpmem \ - --disable-libssh \ - --disable-libudev \ - --disable-libusb \ - --disable-linux-aio \ - --disable-linux-io-uring \ - --disable-linux-user \ - --disable-live-block-migration \ - --disable-lto \ - --disable-lzfse \ - --disable-lzo \ - --disable-malloc-trim \ - --disable-membarrier \ - --disable-module-upgrades \ - --disable-modules \ - --disable-mpath \ - --disable-multiprocess \ - --disable-netmap \ - --disable-nettle \ - --disable-numa \ - --disable-nvmm \ - --disable-opengl \ - --disable-oss \ - --disable-pa \ - --disable-parallels \ - --disable-pie \ - --disable-pipewire \ - --disable-pixman \ - --disable-plugins \ - --disable-png \ - --disable-pvrdma \ - --disable-qcow1 \ - --disable-qed \ - --disable-qom-cast-debug \ - --disable-rbd \ - --disable-rdma \ - --disable-relocatable \ - --disable-replication \ - --disable-rng-none \ - --disable-rutabaga-gfx \ - --disable-safe-stack \ - --disable-sanitizers \ - --disable-sdl \ - --disable-sdl-image \ - --disable-seccomp \ - --disable-selinux \ - --disable-slirp \ - --disable-slirp-smbd \ - --disable-smartcard \ - --disable-snappy \ - --disable-sparse \ - --disable-spice \ - --disable-spice-protocol \ - --disable-strip \ - --disable-system \ - --disable-tcg \ - --disable-tcg-interpreter \ - --disable-tools \ - --disable-tpm \ - --disable-u2f \ - --disable-usb-redir \ - --disable-user \ - --disable-vde \ - --disable-vdi \ - --disable-vhost-crypto \ - --disable-vhost-kernel \ - --disable-vhost-net \ - --disable-vhost-user \ - --disable-vhost-user-blk-server \ - --disable-vhost-vdpa \ - --disable-virglrenderer \ - --disable-virtfs \ - --disable-vnc \ - --disable-vnc-jpeg \ - --disable-vnc-sasl \ - --disable-vte \ - --disable-vvfat \ - --disable-werror \ - --disable-whpx \ - --disable-xen \ - --disable-xen-pci-passthrough \ - --disable-xkbcommon \ - --disable-zstd \ - --without-default-devices \ + %{disable_everything} \ %if %{with system_membarrier} --enable-membarrier \ %endif @@ -344,7 +207,7 @@ scripts/qemu-binfmt-conf.sh --systemd ALL --persistent yes --preserve-argv0 yes cd %blddir %ifarch aarch64 %ix86 ppc ppc64 ppc64le riscv64 s390x x86_64 -%{qemu_arch}-linux-user/qemu-%{qemu_arch} %_bindir/ls > /dev/null +./qemu-%{qemu_arch} %_bindir/ls > /dev/null %endif %make_build check-softfloat diff --git a/qemu.changes b/qemu.changes index 8626df5..2c2061c 100644 --- a/qemu.changes +++ b/qemu.changes @@ -1,98 +1,180 @@ ------------------------------------------------------------------- -Tue Sep 17 10:00:55 UTC 2024 - dfaggioli@suse.com +Wed Oct 16 14:39:46 UTC 2024 - dfaggioli@suse.com -- Fix bsc#1229929 (patch already submitted upstream): - * [openSUSE] target/ppc: Fix lxvx/stxvx facility check (bsc#1229929) +- Bug and CVE fixes: + * softmmu/physmem: fix memory leak in dirty_memory_extend() + * softmmu: Support concurrent bounce buffers (bsc#1230915, CVE-2024-8612) + * accel/kvm: check for KVM_CAP_READONLY_MEM on VM (bsc#1231519) ------------------------------------------------------------------- -Tue Aug 27 16:38:53 UTC 2024 - dfaggioli@suse.com +Tue Oct 15 17:02:49 UTC 2024 - dfaggioli@suse.com + +- Fix bsc#1231519 and bsc#1230140: + * accel/kvm: check for KVM_CAP_READONLY_MEM on VM + * target/ppc: Fix lxvx/stxvx facility check + +------------------------------------------------------------------- +Wed Sep 11 17:42:03 UTC 2024 - dfaggioli@suse.com + +- Re-enable vhdx support in qemu-img: + * [openSUSE][RPM] explicitly enable qemu-img support for vhdx and vpc + +------------------------------------------------------------------- +Thu Sep 05 16:22:44 UTC 2024 - dfaggioli@suse.com + +- Spec file fixing (for properly building 9.1) and improvements: + * [openSUSE][RPM] Consolidate disabling all features during 'configure' in a macro + * [openSUSE][RPM] Consolidate handling of conditional features + * [openSUSE][RPM] (commented out) services for qemu-pr-helper + * [openSUSE][RPM] package qemu-vmsr-helper + * [openSUSE][RPM] configure: Fix with-pkgversion option + * [openSUSE][RPM] Exclude riscv edk2 files + * [openSUSE][RPM] Remove nios2 + * [openSUSE][RPM] Update tests acpi path + * [openSUSE][RPM] configure: remove options for removed features + +------------------------------------------------------------------- +Thu Sep 05 15:16:09 UTC 2024 - dfaggioli@suse.com + +- Update to version 9.1.0: + Full changelog here: https://wiki.qemu.org/ChangeLog/9.1 + Some of the most notable features: + * migration: compression offload support via Intel In-Memory Analytics + Accelerator (IAA) or User Space Accelerator Development Kit (UADK), + along with enhanced support for postcopy failure recovery + * virtio: support for VIRTIO_F_NOTIFICATION_DATA, allowing guest + drivers to provide additional data as part of sending device notifications + for performance/debug purposes + * guest-agent: support for guest-network-get-route command on linux, + guest-ssh-* commands on Windows, and enhanced CLI support for + configuring allowed/blocked commands + * block: security fixes for QEMU NBD server and NBD TLS encryption + * ARM: emulation support for FEAT_NMI, FEAT_CSV2_3, FEAT_ETS2, + FEAT_Spec_FPACC, FEAT_WFxT, FEAT_Debugv8p8 architecture features + * ARM: nested/two-stage page table support for emulated SMMUv3 + * ARM: xilinx_zynq board support for cache controller and multiple + CPUs, and B-L475E-IOT01A board support for a DM163 display + * LoongArch: support for directly booting an ELF kernel and for running + up to 256 vCPUs via extioi virt extension + * LoongArch: enhanced debug/GDB support + * RISC-V: support for version 1.13 of privileged architecture specification + * RISC-V: support for Zve32x, Zve64x, Zimop, Zcmop, Zama16b, Zabha, + Zawrs, and Smcntrpmf extensions + * RISC-V: enhanced debug/GDB support and general fixes + * SPARC: emulation support for FMAF, IMA, VIS3, and VIS4 architecture + features + * x86: KVM support for running AMD SEV-SNP guests + * x86: CPU emulation support for Icelake-Server-v7, SapphireRapids-v3, + and SierraForest + + The following bugs/CVEs were solved (in 9.0.x) with backports that are + now included in 9.1 upstream: + - CVE-2024-4467 (bsc#1227322) + - CVE-2024-7409 (bsc#1229007) + +------------------------------------------------------------------- +Tue Aug 27 17:15:25 UTC 2024 - dfaggioli@suse.com - Fix bsc#1221812: * [openSUSE] block: Reschedule query-block during qcow2 invalidation (bsc#1221812) -- Fixup old patches and infra issues: +- Fixup a previous patch (cure a build warning): * [openSUSE] fixup patch "pc: q35: Allow 1024 cpus for old machine types" - * [openSUSE] Point submodule branches to gitlab ------------------------------------------------------------------- -Tue Aug 13 15:58:46 UTC 2024 - dfaggioli@suse.com +Tue Aug 27 16:45:36 UTC 2024 - dfaggioli@suse.com -- Fix bsc#1229007, CVE-2024-7409: - * nbd/server: CVE-2024-7409: Close stray clients at server-stop (bsc#1229007) - * nbd/server: CVE-2024-7409: Drop non-negotiating clients (bsc#1229007) - * nbd/server: CVE-2024-7409: Cap default max-connections to 100 (bsc#1229007) - * nbd/server: Plumb in new args to nbd_client_add() (bsc#1229007, CVE-2024-7409) - * nbd: Minor style and typo fixes (bsc#1229007, CVE-2024-7409) +- Infra improvement: + * [openSUSE] Workflows for Virtualization:Staging:TDX ------------------------------------------------------------------- -Mon Aug 12 16:47:31 UTC 2024 - dfaggioli@suse.com +Wed Jul 24 10:00:54 UTC 2024 - dfaggioli@suse.com -- Update to version 8.2.6: - - Full backport lists (from the various releases) here: - https://lore.kernel.org/qemu-devel/1721203806.547734.831464.nullmailer@tls.msk.ru/ - - Some of the upstream backports are: +- roms: Build ipxe with NO_WERROR=1 (bsc#1227960) +- Update to version 9.0.2: + Full list of backports here: + https://lore.kernel.org/qemu-devel/1718081053.366429.1238758.nullmailer@tls.msk.ru/ + + A selection of them is reported here too: hw/nvme: fix number of PIDs for FDP RUH update sphinx/qapidoc: Fix to generate doc for explicit, unboxed arguments char-stdio: Restore blocking mode of stdout on exit virtio: remove virtio_tswap16s() call in vring_packed_event_read() virtio-pci: Fix the failure process in kvm_virtio_pci_vector_use_one() + tcg/optimize: Fix TCG_COND_TST* simplification of setcond2 block: Parse filenames only when explicitly requested iotests/270: Don't store data-file with json: prefix in image iotests/244: Don't store data-file with protocol in image - qcow2: Don't open data_file with BDRV_O_NO_IO (bsc#1227322, CVE-2024-4467) - target/arm: Fix FJCVTZS vs flush-to-zero - target/arm: Fix VCMLA Dd, Dn, Dm[idx] - i386/cpu: fixup number of addressable IDs for processor cores in the physical package - tests: Update our CI to use CentOS Stream 9 instead of 8 - migration: Fix file migration with fdset - tcg/loongarch64: Fix tcg_out_movi vs some pcrel pointers - target/sparc: use signed denominator in sdiv helper - linux-user: Make TARGET_NR_setgroups affect only the current thread - accel/tcg: Fix typo causing tb->page_addr[1] to not be recorded - stdvga: fix screen blanking - hw/audio/virtio-snd: Always use little endian audio format - ui/gtk: Draw guest frame at refresh cycle - virtio-net: drop too short packets early - target/i386: fix size of EBP writeback in gen_enter() + qcow2: Don't open data_file with BDRV_O_NO_IO + tests: add testing of parameter=3D1 for SMP topology (bsc#1228169) + hw/core: allow parameter=3D1 for SMP topology on any machine + ... ------------------------------------------------------------------- -Fri Jun 28 14:40:26 UTC 2024 - dfaggioli@suse.com +Fri Jun 28 14:39:13 UTC 2024 - dfaggioli@suse.com -- Update to version 8.2.5: + - Update to latest stable release (9.0.1). + Full list of backports here: + https://lore.kernel.org/qemu-devel/1718081053.366429.1238758.nullmailer@tls.msk.ru/ + + A selection of them is reported here too: + Update version for 9.0.1 release + target/loongarch: fix a wrong print in cpu dump + ui/sdl2: Allow host to power down screen + virtio-gpu: fix v2 migration + target/i386: fix SSE and SSE2 feature check + target/i386: fix xsave.flat from kvm-unit-tests + disas/riscv: Decode all of the pmpcfg and pmpaddr CSRs + riscv, gdbstub.c: fix reg_width in ricsv_gen_dynamic_vector_feature() + target/riscv/kvm.c: Fix the hart bit setting of AIA + target/riscv: rvzicbo: Fixup CBO extension register calculation + target/riscv: do not set mtval2 for non guest-page faults + target/riscv: prioritize pmp errors in raise_mmu_exception() + target/riscv: rvv: Remove redudant SEW checking for vector fp narrow/widen instructions + target/riscv: rvv: Check single width operator for vfncvt.rod.f.f.w + target/riscv: rvv: Check single width operator for vector fp widen instructions + target/riscv: rvv: Fix Zvfhmin checking for vfwcvt.f.f.v and vfncvt.f.f.w instructions + target/riscv/cpu.c: fix Zvkb extension config + target/riscv: Fix the element agnostic function problem + target/riscv/kvm: tolerate KVM disable ext errors + target/riscv/kvm: Fix exposure of Zkr + hw/intc/riscv_aplic: APLICs should add child earlier than realize + iotests: test NBD+TLS+iothread + qio: Inherit follow_coroutine_ctx across TLS + ... - Full backport lists (from the various releases) here: - https://lore.kernel.org/qemu-devel/1718081047.648425.1238605.nullmailer@tls.msk.ru/ +------------------------------------------------------------------- +Fri May 17 11:44:56 UTC 2024 - dfaggioli@suse.com - Some of the upstream backports are: - target/loongarch: fix a wrong print in cpu dump - ui/sdl2: Allow host to power down screen - target/i386: fix SSE and SSE2 feature check - target/i386: fix xsave.flat from kvm-unit-tests - disas/riscv: Decode all of the pmpcfg and pmpaddr CSRs - target/riscv/kvm.c: Fix the hart bit setting of AIA - target/riscv: rvzicbo: Fixup CBO extension register calculation - target/riscv: do not set mtval2 for non guest-page faults - target/riscv: prioritize pmp errors in raise_mmu_exception() - target/riscv: rvv: Remove redudant SEW checking for vector fp narrow/widen instructions - target/riscv: rvv: Check single width operator for vfncvt.rod.f.f.w - target/riscv: rvv: Check single width operator for vector fp widen instructions - target/riscv: rvv: Fix Zvfhmin checking for vfwcvt.f.f.v and vfncvt.f.f.w instructions - target/riscv/cpu.c: fix Zvkb extension config - target/riscv: Fix the element agnostic function problem - target/riscv/kvm: tolerate KVM disable ext errors - hw/intc/riscv_aplic: APLICs should add child earlier than realize - iotests: test NBD+TLS+iothread - qio: Inherit follow_coroutine_ctx across TLS - target/arm: Disable SVE extensions when SVE is disabled - hw/intc/arm_gic: Fix handling of NS view of GICC_APR - hvf: arm: Fix encodings for ID_AA64PFR1_EL1 and debug System registers - gitlab: use 'setarch -R' to workaround tsan bug - gitlab: use $MAKE instead of 'make' - dockerfiles: add 'MAKE' env variable to remaining containers - gitlab: Update msys2-64bit runner tags - target/i386: no single-step exception after MOV or POP SS - ... +- Update to version 9.0.0: + Full changelog here: + https://wiki.qemu.org/ChangeLog/9.0 + Highlights include: + * block: virtio-blk now supports multiqueue where different queues of a + single disk can be processed by different I/O threads + * gdbstub: various improvements such as catching syscalls in user-mode, + support for fork-follow modes, and support for siginfo:read + * memory: preallocation of memory backends can now be handled + concurrently using multiple threads in some cases + * migration: support for "mapped-ram" capability allowing for more + efficient VM snapshots, improved support for zero-page detection, and + checkpoint-restart support for VFIO + * ARM: architectural feature support for ECV (Enhanced Counter Virtualization), + NV (Nested Virtualization), and NV2 (Enhanced Nested + Virtualization) + * ARM: board support for B-L475E-IOT01A IoT node, mp3-an536 (MPS3 dev board + + AN536 firmware), and raspi4b (Raspberry Pi 4 Model B) + * ARM: additional IO/disk/USB/SPI/ethernet controller and timer support for + Freescale i.MX6, Allwinner R40, Banana Pi, npcm7xxx, and virt boards + * HPPA: numerous bug fixes and SeaBIOS-hppa firmware updated to version 16 + * LoongArch: KVM acceleration support, including LSX/LASX vector + extensions + * RISC-V: ISA/extension support for Zacas, amocas, RVA22 profiles, + Zaamo, Zalrsc, Ztso, and more + * RISC-V: SMBIOS support for RISC-V virt machine, ACPI support for + SRAT, SLIT, AIA, PLIC and updated RHCT table support, and numerous fixes + * s390x: Emulation support for CVDG, CVB, CVBY and CVBG instructions, + and fixes for LAE (Load Address Extended) emulation + * and lots more... ------------------------------------------------------------------- Thu May 16 14:43:38 UTC 2024 - dfaggioli@suse.com diff --git a/qemu.obsinfo b/qemu.obsinfo index 042d391..13dcfe5 100644 --- a/qemu.obsinfo +++ b/qemu.obsinfo @@ -1,4 +1,4 @@ name: qemu -version: 8.2.6 -mtime: 1726566496 -commit: e83e6402af51931a2baa4eb623eadefd589ea833 +version: 9.1.0 +mtime: 1729087038 +commit: 0dbd22c0dd1c7781582a94bc4d4f55daaab27158 diff --git a/qemu.spec b/qemu.spec index 5243836..3b512c9 100644 --- a/qemu.spec +++ b/qemu.spec @@ -53,7 +53,7 @@ %ifarch %ix86 x86_64 ppc ppc64 ppc64le s390x armv7hl aarch64 riscv64 %define kvm_available 1 -%define with_uring 1 +%bcond_without uring %define liburing_min_version 1.0 %endif @@ -62,11 +62,11 @@ %endif %ifarch x86_64 aarch64 ppc64le s390x -%define with_rbd 1 +%bcond_without rbd %endif %ifarch x86_64 ppc64le -%define with_daxctl 1 +%bcond_without daxctl %endif # enforce pxe rom sizes for migration compatability from SLE 11 SP3 forward @@ -82,7 +82,7 @@ URL: https://www.qemu.org/ Summary: Machine emulator and virtualizer License: BSD-2-Clause AND BSD-3-Clause AND GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.1-or-later AND MIT Group: System/Emulators/PC -Version: 8.2.6 +Version: 9.1.0 Release: 0 Source0: qemu-%{version}.tar.xz Source1: common.inc @@ -127,20 +127,20 @@ BuildRequires: libnuma-devel %if 0%{with canokey} BuildRequires: canokey-qemu-devel %endif -%if 0%{?with_daxctl} +%if 0%{with daxctl} BuildRequires: pkgconfig(libndctl) %endif %if %{kvm_available} BuildRequires: pkgconfig(udev) %endif -%if 0%{?with_rbd} +%if 0%{with rbd} BuildRequires: librbd-devel %endif %if 0%{with spice} BuildRequires: pkgconfig(spice-protocol) >= 0.12.3 BuildRequires: pkgconfig(spice-server) >= 0.12.5 %endif -%if 0%{?with_uring} +%if 0%{with uring} BuildRequires: pkgconfig(liburing) >= %liburing_min_version %endif %if 0%{with xdp} @@ -174,6 +174,11 @@ BuildRequires: multipath-tools-devel BuildRequires: ninja >= 1.7 BuildRequires: pam-devel BuildRequires: pkgconfig +BuildRequires: rdma-core-devel +BuildRequires: snappy-devel +BuildRequires: update-desktop-files +BuildRequires: usbredir-devel >= 0.6 +BuildRequires: xfsprogs-devel BuildRequires: pkgconfig(alsa) BuildRequires: pkgconfig(epoxy) BuildRequires: pkgconfig(gbm) @@ -209,11 +214,6 @@ BuildRequires: pkgconfig(virglrenderer) >= 0.4.1 BuildRequires: pkgconfig(vte-2.91) BuildRequires: pkgconfig(xkbcommon) BuildRequires: pkgconfig(zlib) -BuildRequires: rdma-core-devel -BuildRequires: snappy-devel -BuildRequires: update-desktop-files -BuildRequires: usbredir-devel >= 0.6 -BuildRequires: xfsprogs-devel %{?systemd_ordering} ## Packages we will REQUIRE %if %{kvm_available} @@ -252,7 +252,7 @@ Recommends: qemu-ksm = %{version} Recommends: qemu-tools Recommends: qemu-ui-curses ## Packages we will SUGGEST -%if 0%{?with_rbd} +%if 0%{with rbd} Suggests: qemu-block-rbd %endif Suggests: qemu-accel-qtest @@ -401,8 +401,8 @@ meson subprojects packagefiles --apply berkeley-testfloat-3 meson subprojects packagefiles --apply berkeley-softfloat-3 # for the record, this set of firmware files is installed, but we don't -# build (yet): bamboo.dtb canyonlands.dtb hppa-firmware.img openbios-ppc -# openbios-sparc32 openbios-sparc64 palcode-clipper petalogix-ml605.dtb +# build (yet): bamboo.dtb canyonlands.dtb hppa-firmware.img hppa-firmware.img 64 +# openbios-ppc openbios-sparc32 openbios-sparc64 palcode-clipper petalogix-ml605.dtb # petalogix-s3adsp1800.dtb QEMU,cgthree.bin QEMU,tcx.bin qemu_vga.ndrv # u-boot.e500 u-boot-sam460-20100605.bin opensbi-riscv32-generic-fw_dynamic.bin # opensbi-riscv32-generic-fw_dynamic.elfnpcm7xx_bootrom.bin vof.bin @@ -490,8 +490,8 @@ sed -i '/^\ \ \ about\/index.*/i \ \ \ supported.rst' docs/index.rst # from a git branch. We, therefore, assumed that the following commands # have been run, and the result committed to the repository (with seabios # and skiboot at the proper commit/tag/...): -# git -C roms/seabios describe --tags --long --dirty > rpm/seabios_version -# (cd roms/skiboot && ./make_version.sh > ../../rpm/skiboot_version) +# (pushd roms/seabios && git describe --tags --long --dirty > ../../rpm/seabios_version ; popd) +# (pushd roms/skiboot && ./make_version.sh > ../../rpm/skiboot_version ; popd) cp %{rpmfilesdir}/seabios_version roms/seabios/.version cp %{rpmfilesdir}/skiboot_version roms/skiboot/.version find . -iname ".git" -exec rm -rf {} + @@ -507,7 +507,6 @@ export HOSTNAME=OBS # is used in roms/SLOF/Makefile.gen (boo#1084909) # for them. # TODO: Check whether we want to enable the followings: -# * avx512f # * debug-info # * fuse # * malloc-trim @@ -536,143 +535,8 @@ EXTRA_CFLAGS="$(echo %{optflags} | sed -E 's/-[A-Z]?_FORTIFY_SOURCE[=]?[0-9]*//g --localstatedir=%_localstatedir \ --prefix=%_prefix \ --sysconfdir=%_sysconfdir \ - --with-pkgversion="%(echo '%{distro}' | sed 's/ (.*)//')" \ - --disable-af-xdp \ - --disable-alsa \ - --disable-attr \ - --disable-auth-pam \ - --disable-avx2 \ - --disable-avx512f \ - --disable-block-drv-whitelist-in-tools \ - --disable-bochs \ - --disable-bpf \ - --disable-brlapi \ - --disable-bsd-user \ - --disable-bzip2 \ - --disable-cap-ng \ - --disable-capstone \ - --disable-cfi \ - --disable-cfi-debug \ - --disable-cloop \ - --disable-cocoa \ - --disable-coreaudio \ - --disable-coroutine-pool \ - --disable-crypto-afalg \ - --disable-curl \ - --disable-curses \ - --disable-dbus-display \ - --disable-debug-info \ - --disable-debug-mutex \ - --disable-debug-tcg \ - --disable-dmg \ - --disable-docs \ - --disable-download \ - --disable-dsound \ - --disable-fdt \ - --disable-fuse \ - --disable-fuse-lseek \ - --disable-gcrypt \ - --disable-gettext \ - --disable-gio \ - --disable-glusterfs \ - --disable-gnutls \ - --disable-gtk \ - --disable-guest-agent \ - --disable-guest-agent-msi \ - --disable-hv-balloon \ - --disable-hvf \ - --disable-iconv \ - --disable-jack \ - --disable-kvm \ - --disable-l2tpv3 \ - --disable-libdaxctl \ - --disable-libiscsi \ - --disable-libkeyutils \ - --disable-libnfs \ - --disable-libpmem \ - --disable-libssh \ - --disable-libudev \ - --disable-libusb \ - --disable-linux-aio \ - --disable-linux-io-uring \ - --disable-linux-user \ - --disable-live-block-migration \ - --disable-lto \ - --disable-lzfse \ - --disable-lzo \ - --disable-malloc-trim \ - --disable-membarrier \ - --disable-module-upgrades \ - --disable-modules \ - --disable-mpath \ - --disable-multiprocess \ - --disable-netmap \ - --disable-nettle \ - --disable-numa \ - --disable-nvmm \ - --disable-opengl \ - --disable-oss \ - --disable-pa \ - --disable-parallels \ - --disable-pie \ - --disable-pipewire \ - --disable-pixman \ - --disable-plugins \ - --disable-png \ - --disable-pvrdma \ - --disable-qcow1 \ - --disable-qed \ - --disable-qom-cast-debug \ - --disable-rbd \ - --disable-rdma \ - --disable-relocatable \ - --disable-replication \ - --disable-rng-none \ - --disable-rutabaga-gfx \ - --disable-safe-stack \ - --disable-sanitizers \ - --disable-sdl \ - --disable-sdl-image \ - --disable-seccomp \ - --disable-selinux \ - --disable-slirp \ - --disable-slirp-smbd \ - --disable-smartcard \ - --disable-snappy \ - --disable-sparse \ - --disable-spice \ - --disable-spice-protocol \ - --disable-strip \ - --disable-system \ - --disable-tcg \ - --disable-tcg-interpreter \ - --disable-tools \ - --disable-tpm \ - --disable-u2f \ - --disable-usb-redir \ - --disable-user \ - --disable-vde \ - --disable-vdi \ - --disable-vhost-crypto \ - --disable-vhost-kernel \ - --disable-vhost-net \ - --disable-vhost-user \ - --disable-vhost-user-blk-server \ - --disable-vhost-vdpa \ - --disable-virglrenderer \ - --disable-virtfs \ - --disable-vnc \ - --disable-vnc-jpeg \ - --disable-vnc-sasl \ - --disable-vte \ - --disable-vvfat \ - --disable-werror \ - --disable-whpx \ - --disable-xen \ - --disable-xen-pci-passthrough \ - --disable-xkbcommon \ - --disable-zstd \ - --without-default-devices \ + --with-pkgversion="$(echo '%{distro}' | sed 's/ (.*)//')" \ + %{disable_everything} \ %if 0%{?suse_version} >= 1600 --audio-drv-list=pipewire,pa,alsa,jack,oss \ %else @@ -692,31 +556,31 @@ EXTRA_CFLAGS="$(echo %{optflags} | sed -E 's/-[A-Z]?_FORTIFY_SOURCE[=]?[0-9]*//g %if 0%{with canokey} --enable-canokey \ %endif -%if %{kvm_available} +%if 0%{kvm_available} --enable-kvm \ %endif -%if 0%{?with_daxctl} +%if 0%{with daxctl} --enable-libdaxctl \ %endif -%if 0%{?with_uring} +%if 0%{with uring} --enable-linux-io-uring \ %endif %if "%{_lto_cflags}" != "%{nil}" --enable-lto \ %endif -%if %{with malloc_trim} +%if 0%{with malloc_trim} --enable-malloc-trim \ %endif -%if %{with system_membarrier} +%if 0%{with system_membarrier} --enable-membarrier \ %endif %ifnarch %arm s390x --enable-numa \ %endif -%if 0%{?with_rbd} +%if 0%{with rbd} --enable-rbd \ %endif -%if %{has_rutabaga_gfx} +%if 0%{has_rutabaga_gfx} --enable-rutabaga-gfx \ %endif --enable-alsa \ @@ -754,7 +618,6 @@ EXTRA_CFLAGS="$(echo %{optflags} | sed -E 's/-[A-Z]?_FORTIFY_SOURCE[=]?[0-9]*//g --enable-libudev \ --enable-libusb \ --enable-linux-aio \ - --enable-live-block-migration \ --enable-lzfse \ --enable-lzo \ --enable-modules \ @@ -767,7 +630,6 @@ EXTRA_CFLAGS="$(echo %{optflags} | sed -E 's/-[A-Z]?_FORTIFY_SOURCE[=]?[0-9]*//g --enable-pipewire \ --enable-pixman \ --enable-png \ - --enable-pvrdma \ --enable-qcow1 \ --enable-qed \ --enable-rdma \ @@ -790,6 +652,7 @@ EXTRA_CFLAGS="$(echo %{optflags} | sed -E 's/-[A-Z]?_FORTIFY_SOURCE[=]?[0-9]*//g --enable-usb-redir \ --enable-vde \ --enable-vdi \ + --enable-vhdx \ --enable-vhost-crypto \ --enable-vhost-kernel \ --enable-vhost-net \ @@ -801,6 +664,7 @@ EXTRA_CFLAGS="$(echo %{optflags} | sed -E 's/-[A-Z]?_FORTIFY_SOURCE[=]?[0-9]*//g --enable-vnc \ --enable-vnc-jpeg \ --enable-vnc-sasl \ + --enable-vpc \ --enable-vte \ --enable-vvfat \ --enable-werror \ @@ -875,16 +739,17 @@ popd %make_build -C %srcdir/roms seavgabios-ati \ -%make_build -C %srcdir/roms pxerom +%make_build -C %srcdir/roms pxerom NO_WERROR=1 %make_build -C %srcdir/roms edk2-basetools EXTRA_OPTFLAGS='-fPIE' -%make_build -C %srcdir/roms efirom + +%make_build -C %srcdir/roms efirom NO_WERROR=1 %if %{force_fit_virtio_pxe_rom} pushd %srcdir patch -p1 < %{rpmfilesdir}/openSUSE-pcbios-stub-out-the-SAN-req-s-i.patch popd -%make_build -C %srcdir/roms pxerom_variants=virtio pxerom_targets=1af41000 pxerom +%make_build -C %srcdir/roms NO_WERROR=1 pxerom_variants=virtio pxerom_targets=1af41000 pxerom %endif for i in %supported_nics_large %unsupported_nics @@ -977,6 +842,8 @@ unlink %{buildroot}%_datadir/%name/edk2-i386-secure-code.fd unlink %{buildroot}%_datadir/%name/edk2-i386-vars.fd unlink %{buildroot}%_datadir/%name/edk2-x86_64-code.fd unlink %{buildroot}%_datadir/%name/edk2-x86_64-secure-code.fd +unlink %{buildroot}%_datadir/%name/edk2-riscv-code.fd +unlink %{buildroot}%_datadir/%name/edk2-riscv-vars.fd # this was never meant for customer consumption - delete even though installed unlink %{buildroot}%_bindir/elf2dmp @@ -1019,6 +886,21 @@ done # End of "if build_x86_firmware" %endif +# Upstream provides services for qemu-pr-helper. So far, we've not needed +# them, so let's continue not to ship them for now. If that changes, just +# uncomment these lines (and the ones in the %file pr-helper section) +#install -m 0644 contrib/systemd/qemu-pr-helper.service %{buildroot}%{_unitdir} +#install -m 0644 contrib/systemd/qemu-pr-helper.socket %{buildroot}%{_unitdir} + +%if 0%{with vmsr_helper} +echo "" +# Upstream provides services for qemu-vmsr-helper. So far, we've not needed +# them, so let's continue not to ship them for now. If that changes, just +# uncomment these lines (and the ones in the %file vmsr-helper section) +#install -m 0644 contrib/systemd/qemu-vmsr-helper.service %{buildroot}%{_unitdir} +#install -m 0644 contrib/systemd/qemu-vmsr-helper.socket %{buildroot}%{_unitdir} +%endif + %suse_update_desktop_file qemu # Common install steps for qemu and qemu-linux-user @@ -1032,11 +914,11 @@ cd %blddir # do that in the patch itself. Instead, we keep a copy of the binary in the # package sources, and put it in place now, before the tests themselves. # If that patch is removed, the following line needs to go as well. -cp %{rpmfilesdir}/DSDT.pcie %{srcdir}/tests/data/acpi/microvm/ +cp %{rpmfilesdir}/DSDT.pcie %{srcdir}/tests/data/acpi/x86/microvm/ # Patch 'tests/acpi: update tables for new core count test' requires some new # binaries to be introcuded too. Let's copy them in place as well -cp %{rpmfilesdir}/APIC.core-count2 %{rpmfilesdir}/DSDT.core-count2 %{rpmfilesdir}/FACP.core-count2 %{srcdir}/tests/data/acpi/q35/ +cp %{rpmfilesdir}/APIC.core-count2 %{rpmfilesdir}/DSDT.core-count2 %{rpmfilesdir}/FACP.core-count2 %{srcdir}/tests/data/acpi/x86/q35/ %if 0%{?qemu_user_space_build} # Seccomp is not supported by linux-user emulation @@ -1305,7 +1187,6 @@ popular QEMU packages which are dedicated to a single architecture.) %_bindir/qemu-system-mipsel %_bindir/qemu-system-mips64 %_bindir/qemu-system-mips64el -%_bindir/qemu-system-nios2 %_bindir/qemu-system-or1k %_bindir/qemu-system-riscv32 %_bindir/qemu-system-riscv64 @@ -1318,6 +1199,7 @@ popular QEMU packages which are dedicated to a single architecture.) %_bindir/qemu-system-xtensa %_bindir/qemu-system-xtensaeb %_datadir/%name/hppa-firmware.img +%_datadir/%name/hppa-firmware64.img %_datadir/%name/openbios-sparc32 %_datadir/%name/openbios-sparc64 %_datadir/%name/opensbi-riscv32-generic-fw_dynamic.bin @@ -1697,8 +1579,24 @@ This package provides a helper utility for SCSI persistent reservations. %files pr-helper %_bindir/qemu-pr-helper +#%{_unitdir}/qemu-pr-helper.service +#%{_unitdir}/qemu-pr-helper.socket %_mandir/man8/qemu-pr-helper.8.gz +%if 0%{with vmsr_helper} +%package vmsr-helper +Summary: QEMU virtual RAPL MSR helper +Group: System/Emulators/PC + +%description vmsr-helper +This package provides a helper utility for letting VMs access the RAPL (Running Average Power Limit) MSR. + +%files vmsr-helper +%_bindir/qemu-vmsr-helper +#%{_unitdir}/qemu-vmsr-helper.service +#%{_unitdir}/qemu-vmsr-helper.socket +%endif + %package tools Summary: Tools for QEMU Group: System/Emulators/PC @@ -1706,12 +1604,15 @@ Requires(pre): permissions Requires: qemu-img Requires: qemu-pr-helper Requires: group(kvm) +%if 0%{with vmsr_helper} +Requires: qemu-vmsr-helper +%endif %if %{has_virtiofsd} Requires: virtiofsd %endif Recommends: multipath-tools Recommends: qemu-block-curl -%if 0%{?with_rbd} +%if 0%{with rbd} Recommends: qemu-block-rbd %endif @@ -1867,7 +1768,6 @@ This package provides QTest accelerator for testing QEMU. %_libdir/%name/accel-qtest-mips64.so %_libdir/%name/accel-qtest-mips64el.so %_libdir/%name/accel-qtest-mipsel.so -%_libdir/%name/accel-qtest-nios2.so %_libdir/%name/accel-qtest-or1k.so %_libdir/%name/accel-qtest-ppc.so %_libdir/%name/accel-qtest-ppc64.so @@ -1884,7 +1784,7 @@ This package provides QTest accelerator for testing QEMU. %_libdir/%name/accel-qtest-xtensa.so %_libdir/%name/accel-qtest-xtensaeb.so -%if 0%{?with_rbd} +%if 0%{with rbd} %package block-rbd Summary: Rados Block Device (Ceph) support for QEMU Group: System/Emulators/PC @@ -1962,7 +1862,7 @@ wider support than qboot, but still focuses on quick boot up. %package seabios Summary: x86 Legacy BIOS for QEMU Group: System/Emulators/PC -Version: 8.2.6%{sbver} +Version: 9.1.0%{sbver} Release: 0 BuildArch: noarch Conflicts: %name < 1.6.0 @@ -1983,7 +1883,7 @@ is the default and legacy BIOS for QEMU. %package vgabios Summary: VGA BIOSes for QEMU Group: System/Emulators/PC -Version: 8.2.6%{sbver} +Version: 9.1.0%{sbver} Release: 0 BuildArch: noarch Conflicts: %name < 1.6.0 @@ -2009,7 +1909,7 @@ video card. For use with QEMU. %package ipxe Summary: PXE ROMs for QEMU NICs Group: System/Emulators/PC -Version: 8.2.6 +Version: 9.1.0 Release: 0 BuildArch: noarch Conflicts: %name < 1.6.0