Compare commits

2 Commits
main ... 1.1

9 changed files with 611 additions and 990 deletions

View File

@@ -1,8 +1,8 @@
<services>
<service name="obs_scm" mode="manual">
<param name="scm">git</param>
<param name="url">https://github.com/opensuse/qemu.git</param>
<param name="revision">factory</param>
<param name="url">https://gitlab.suse.de/virtualization/qemu.git</param>
<param name="revision">v8.2-sle15sp6</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="versionrewrite-pattern">[v]?([^-+a-z]+)(.*)</param>
<param name="versionrewrite-replacement">\1</param>

View File

@@ -1,4 +1,4 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/opensuse/qemu.git</param>
<param name="changesrevision">d2104651468e8600e07e5db75cff834999993680</param></service></servicedata>
<param name="url">https://gitlab.suse.de/virtualization/qemu.git</param>
<param name="changesrevision">551464c096de20bb2c64fcb8c5c45bc9e5ec0589</param></service></servicedata>

View File

@@ -1,6 +1,6 @@
%define _buildshell /bin/bash
%define sbver 1.16.3_3_g3d33c746
%define sbver 1.16.3_3_ga95067eb
%define srcdir %{_builddir}/%buildsubdir
%define blddir %srcdir/build
@@ -46,12 +46,6 @@
%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
@@ -106,157 +100,3 @@ 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-asan \\\
--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-libcbor \\\
--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-pvg \\\
--disable-qcow1 \\\
--disable-qed \\\
--disable-qom-cast-debug \\\
--disable-qpl \\\
--disable-rbd \\\
--disable-rdma \\\
--disable-relocatable \\\
--disable-replication \\\
--disable-rng-none \\\
--disable-rust \\\
--disable-rutabaga-gfx \\\
--disable-safe-stack \\\
--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-strict-rust-lints \\\
--disable-strip \\\
--disable-system \\\
--disable-tcg \\\
--disable-tcg-interpreter \\\
--disable-tools \\\
--disable-tpm \\\
--disable-tsan \\\
--disable-u2f \\\
--disable-uadk \\\
--disable-ubsan \\\
--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

BIN
qemu-10.0.3.obscpio (Stored with Git LFS)

Binary file not shown.

BIN
qemu-8.2.10.obscpio (Stored with Git LFS) Normal file

Binary file not shown.

View File

@@ -1,7 +1,7 @@
#
# spec file for package qemu-linux-user
#
# Copyright (c) 2025 SUSE LLC and contributors
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -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: 10.0.3
Version: 8.2.10
Release: 0
Source0: qemu-%{version}.tar.xz
Source1: common.inc
@@ -38,7 +38,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: bison
BuildRequires: glib2-devel-static >= 2.56
BuildRequires: glibc-devel-static
BuildRequires: pcre2-devel-static
BuildRequires: (pcre-devel-static if glib2-devel-static < 2.73 else pcre2-devel-static)
# passing filelist check for /usr/lib/binfmt.d
BuildRequires: systemd
BuildRequires: zlib-devel-static
@@ -69,50 +69,44 @@ syscall layer occurs on the native hardware and operating system.
%files
%doc README.rst VERSION
%license COPYING COPYING.LIB LICENSE
%ifnarch %ix86 armv7hl
%_bindir/qemu-aarch64
%_bindir/qemu-aarch64_be
%_bindir/qemu-alpha
%_bindir/qemu-hppa
%_bindir/qemu-loongarch64
%_bindir/qemu-mips64
%_bindir/qemu-mips64el
%_bindir/qemu-mipsn32
%_bindir/qemu-mipsn32el
%_bindir/qemu-ppc64
%_bindir/qemu-ppc64le
%_bindir/qemu-riscv64
%_bindir/qemu-s390x
%_bindir/qemu-sparc32plus
%_bindir/qemu-sparc64
%_bindir/qemu-x86_64
%endif
%_bindir/qemu-arm
%_bindir/qemu-armeb
%_bindir/qemu-cris
%_bindir/qemu-hexagon
%_bindir/qemu-hppa
%_bindir/qemu-i386
%_bindir/qemu-loongarch64
%_bindir/qemu-m68k
%_bindir/qemu-microblaze
%_bindir/qemu-microblazeel
%_bindir/qemu-mips
%_bindir/qemu-mips64
%_bindir/qemu-mips64el
%_bindir/qemu-mipsel
%_bindir/qemu-mipsn32
%_bindir/qemu-mipsn32el
%_bindir/qemu-nios2
%_bindir/qemu-or1k
%_bindir/qemu-ppc
%_bindir/qemu-ppc64
%_bindir/qemu-ppc64le
%_bindir/qemu-riscv32
%_bindir/qemu-riscv64
%_bindir/qemu-s390x
%_bindir/qemu-sh4
%_bindir/qemu-sh4eb
%_bindir/qemu-sparc
%_bindir/qemu-i386
%_bindir/qemu-sparc32plus
%_bindir/qemu-sparc64
%_bindir/qemu-x86_64
%_bindir/qemu-xtensa
%_bindir/qemu-xtensaeb
%_sbindir/qemu-binfmt-conf.sh
%_prefix/lib/binfmt.d/qemu-*.conf
%post
/usr/bin/systemctl try-restart systemd-binfmt.service >/dev/null 2>&1 || :
%postun
/usr/bin/systemctl try-restart systemd-binfmt.service >/dev/null 2>&1 || :
%prep
%autosetup -n qemu-%{version} -p1
@@ -143,6 +137,7 @@ cd %blddir
# for them.
# TODO: Check whether we want to enable the followings:
# * avx512f
# * debug-info
# * fuse
# * malloc-trim
@@ -172,14 +167,149 @@ 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_everything} \
--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 \
%if %{with system_membarrier}
--enable-membarrier \
%endif
%if %{with malloc_trim}
--enable-malloc-trim \
%endif
%if "%{_lto_cflags}" != "%{nil}"
%if 0%{?suse_version} > 150600 && "%{_lto_cflags}" != "%{nil}"
--enable-lto \
%endif
--disable-install-blobs \
@@ -214,10 +344,9 @@ 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-%{qemu_arch} %_bindir/ls > /dev/null
%{qemu_arch}-linux-user/qemu-%{qemu_arch} %_bindir/ls > /dev/null
%endif
echo "######## Soft Float tests ########"
%make_build check-softfloat
%changelog

View File

@@ -1,669 +1,280 @@
-------------------------------------------------------------------
Tue Aug 12 15:21:42 UTC 2025 - Dario Faggioli <dfaggioli@suse.com>
- Fix build issues due to Python version:
* mkvenv: Support pip 25.2 (bsc#1247972)
-------------------------------------------------------------------
Tue Aug 12 08:28:17 UTC 2025 - Dario Faggioli <dfaggioli@suse.com>
- Bug and CVE fixes:
* tests: Avoid dependency on padding on signal messages (boo#1246830)
* pcie_sriov: Fix configuration and state synchronization (bsc#1246992 CVE-2025-54566 CVE-2025-54567)
* [openSUSE][RPM] linux-user: restart systemd-binfmt upon changes (bsc#1247443)
-------------------------------------------------------------------
Tue Aug 10 10:32:29 UTC 2025 - Dario Faggioli <dfaggioli@suse.com>
- Update to stable release 10.0.3:
Full list of backports here:
https://lore.kernel.org/qemu-devel/1748499690.323471.13081.nullmailer@localhost/
A selection of them is reported here too:
hvf: arm: Emulate ICC_RPR_EL1 accesses properly
target/arm: Correct encoding of Debug Communications Channel registers
ui: fix setting client_endian field defaults
hw/net/npcm_gmac.c: Send the right data for second packet in a row
target/i386: do not expose ARCH_CAPABILITIES on AMD CPU
i386/cpu: Honor maximum value for CPUID.8000001DH.EAX[25:14]
i386/cpu: Fix overflow of cache topology fields in CPUID.04H
i386/cpu: Fix cpu number overflow in CPUID.01H.EBX[23:16]
ui/vnc: Do not copy z_stream
vhost: Fix used memslot tracking when destroying a vhost device
roms: re-remove execute bit from hppa-firmware*
file-posix: Fix aio=threads performance regression after enablign FUA
amd_iommu: Fix truncation of oldval in amdvi_writeq
amd_iommu: Remove duplicated definitions
amd_iommu: Fix the calculation for Device Table size
amd_iommu: Fix mask to retrieve Interrupt Table Root Pointer from DTE
amd_iommu: Fix masks for various IOMMU MMIO Registers
amd_iommu: Update bitmasks representing DTE reserved fields
amd_iommu: Fix Device ID decoding for INVALIDATE_IOTLB_PAGES command
amd_iommu: Fix Miscellaneous Information Register 0 encoding
virtio-net: Add queues for RSS during migration
net: fix buffer overflow in af_xdp_umem_create()
accel/kvm: Adjust the note about the minimum required kernel version
...
-------------------------------------------------------------------
Wed Jul 23 06:34:02 UTC 2025 - Dario Faggioli <dfaggioli@suse.com>
Tue Jul 22 06:24:44 UTC 2025 - Dario Faggioli <dfaggioli@suse.com>
- Fix bsc#1246566:
* [roms] seabios: include "pciinit: don't misalign large BARs" (bsc#1246566)
-------------------------------------------------------------------
Fri Jun 20 05:49:49 UTC 2025 - Dario Faggioli <dfaggioli@suse.com>
- Add Live migration support for QEMU-emulated AMD IOMMU (jsc#PED-13144):
* hw/i386/amd_iommu: Allow migration when explicitly create the AMDVI-PCI device (jsc#PED-PED-13144)
* hw/i386/amd_iommu: Isolate AMDVI-PCI from amd-iommu device to allow full control over the PCI device creation (jsc#PED-13144)
-------------------------------------------------------------------
Fri Jun 6 10:30:23 UTC 2025 - Dario Faggioli <dfaggioli@suse.com>
- Update to stable release 10.0.2:
Full list of backports here:
https://lore.kernel.org/qemu-devel/1748499690.323471.13081.nullmailer@localhost/
A selection of them is reported here too:
Revert "Drop support for Python 3.8"
Update version for 10.0.1 release
Drop support for Python 3.8
target/hppa: Fix FPE exceptions
linux-user/hppa: Send proper si_code on SIGFPE exception
target/hppa: Copy instruction code into fr1 on FPU assist fault
migration: Allow caps to be set when preempt or multifd cap enabled
migration/multifd: Don't send device state packets with zerocopy flag
qapi/misc-target: Fix the doc to distinguish query-sgx and query-sgx-capabilities
hw/pci-host: Remove unused pci_host_data_be_ops
hw/pci-host/gt64120: Fix endianness handling
i386/hvf: Make CPUID_HT supported
i386/tcg: Make CPUID_HT and CPUID_EXT3_CMP_LEG supported
target/riscv/kvm: do not read unavailable CSRs
target/riscv/kvm: add kvm_csr_cfgs[]
target/riscv/kvm: turn kvm_riscv_reg_id_ulong() into a macro
target/riscv/kvm: turn u32/u64 reg functions into macros
target/riscv/kvm: fix leak in kvm_riscv_init_multiext_cfg()
target/riscv/kvm: minor fixes/tweaks
target/riscv: Fix vslidedown with rvv_ta_all_1s
target/riscv: Fix the rvv reserved encoding of unmasked instructions
...
-------------------------------------------------------------------
Wed Jun 04 10:49:45 UTC 2025 - Dario Faggioli <dfaggioli@suse.com>
- Continue trying to fix building with GCC15:
* roms/edk2: continue to try fixing building with GCC15 (bsc#1241473)
* roms/ipxe: fix building with GCC15 (bsc#1241473)
-------------------------------------------------------------------
Wed May 28 13:09:23 UTC 2025 - Dario Faggioli <dfaggioli@suse.com>
- Fix building opensbi with gcc-15:
* [openSUSE] Fix bsc#1241473 (in opensbi)
-------------------------------------------------------------------
Wed May 28 10:18:18 UTC 2025 - Dario Faggioli <dfaggioli@suse.com>
- Fixes for bsc#1241240 and bsc#1243585:
* vfio/spapr: Fix L2 crash with PCI device passthrough and memory > 128G (bsc#1241240)
* vfio/spapr: Enhance error handling in vfio_spapr_create_window() (bsc#1241240)
* tests/functional: Use -no-shutdown in the hppa_seabios test (bsc#1243585)
-------------------------------------------------------------------
Thu May 08 13:24:02 UTC 2025 - Dario Faggioli <dfaggioli@suse.com>
- Update to latest stable release (10.0.0)
Full changelog here:
https://wiki.qemu.org/ChangeLog/10.0
Highlights include:
* block: virtio-scsi multiqueue support for using different I/O threads
to process requests for each queue (similar to the virtio-blk multiqueue
support that was added in QEMU 9.2)
* VFIO: improved support for IGD passthrough on all Intel Gen 11/12
devices
* Documentation: significant improvement/overhaul of documentation for
QEMU Machine Protocol to make it clearer and more organized, including
all commands/events/types now being cross-reference-able via click-able
links in generated documentation
* ARM: emulation support for EL2 physical and virtual timers
* ARM: emulation support for FEAT_AFP, FEAT_RPRES, and FEAT_XS
architecture features
* ARM: new board models for NPCM8445 Evaluation and i.MX 8M Plus EVK
boards
* HPPA: new SeaBIOS-hppa version 18 with lots of fixes and enhancements
* HPPA: translation speed and virtual CPU reset improvements
* HPPA: emulation support for Diva GSP BMC boards
* LoongArch: support for CPU hotplug, paravirtual IPIs, KVM steal time
accounting, and virtual 'extioi' interrupt routing.
* RISC-V: ISA/extension support for riscv-iommu-sys devices, 'svukte',
'ssstateen', 'smrnmi', 'smdbltrp'/'ssdbltrp', 'supm'/'sspm', and
IOMMU translation tags
* RISC-V: emulation support for Ascalon and RV64 Xiangshan Nanhu CPUs,
and Microblaze V boards.
* s390x: add CPU model support for the generation 17 mainframe CPU
* s930x: add support for virtio-mem and for bypassing IOMMU to improve
PCI device performance
* x86: CPU model support for Clearwater Forest and Sierra Forest v2
* x86: faster emulation of string instructions
* and lots more...
Have a look at the list of deprecated features too, especially if you're
still interested in using 32bits systems as hosts:
* https://qemu-project.gitlab.io/qemu/about/deprecated.html
- Post-update improvements and fixes:
* [openSUSE]: fix SLOF not building with gcc15 (bsc#1241473)
* [openSUSE][RPM]: *.spec: improve the %check phases
* docs: Don't define duplicate label in qemu-block-drivers.rst.inc
* [openSUSE] tests: workaround expected failures of func-x86_64-mem_addr_space
* [openSUSE]: tests/functional increase the timeout of func_hppa_seabios
* [openSUSE] tests/unit increase the timeouts for tlssession tests
-------------------------------------------------------------------
Fri Apr 11 18:28:37 UTC 2025 - dfaggioli@suse.com
- all glib2 versions are recent enough to use pcre2:
* qemu-linux-user: drop pcre (by Andreas Stieger)
- Correct wrong bug mentioned in changelog (bsc#1236329)
-------------------------------------------------------------------
Wed Apr 02 00:32:54 UTC 2025 - dfaggioli@suse.com
- Update to latest stable release (9.2.3)
Full backport list here:
https://lore.kernel.org/qemu-devel/44124379-3349-45cf-9238-8a847d8b2770@tls.msk.ru/
Fixes: bsc#1236329
Highlights include:
* hw/intc/aspeed: Fix IRQ handler mask check
* hw/misc/aspeed_hace: Fix buffer overflow in has_padding function
* target/riscv: fix handling of nop for vstart >= vl in some vector instruction
* target/riscv: refactor VSTART_CHECK_EARLY_EXIT() to accept vl as a parameter
* Makefile: "make dist" generates a .xz, not .bz2
* target/ppc: Fix e200 duplicate SPRs
* target/ppc: Fix facility interrupt checks for VSX
* ppc/spapr: fix default cpu for pre-9.0 machines.
* host/include/loongarch64: Fix inline assembly compatibility with Clang
* linux-user/riscv: Fix handling of cpu mask in riscv_hwprobe syscall
* target/riscv: fixes a bug against `ssamoswap` behavior in M-mode
* target/riscv: fix access permission checks for CSR_SSP
* docs/about/emulation: Fix broken link
* vdpa: Allow vDPA to work on big-endian machine
* vdpa: Fix endian bugs in shadow virtqueue
* target/loongarch: Fix vldi inst
* target/arm: Simplify pstate_sm check in sve_access_check
* target/arm: Make DisasContext.{fp, sve}_access_checked tristate
* util/cacheflush: Make first DSB unconditional on aarch64
* docs: Rename default-configs to configs
* block: Zero block driver state before reopening
* hw/xen/hvm: Fix Aarch64 typo
* hw/net/smc91c111: Don't allow data register access to overrun buffer
* hw/net/smc91c111: Sanitize packet length on tx
* hw/net/smc91c111: Sanitize packet numbers
* ppc/pnv/occ: Fix common area sensor offsets
* xen: No need to flush the mapcache for grants (bsc#1236329)
* net: move backend cleanup to NIC cleanup
* net: parameterize the removing client from nc list
* util/qemu-timer.c: Don't warp timer from timerlist_rearm()
* target/arm: Correct STRD atomicity
* target/arm: Correct LDRD atomicity and fault behaviour
* hw/arm: enable secure EL2 timers for sbsa machine
* hw/arm: enable secure EL2 timers for virt machine
* target/arm: Implement SEL2 physical and virtual timers
* ...
Wed Jun 18 07:00:18 UTC 2025 - Dario Faggioli <dfaggioli@suse.com>
- Fix bsc#1240157:
* [openSUSE][RPM] spec: Require ipxe and virtio-gpu packages for more arch-es
* [openSUSE][RPM] spec: Require ipxe and virtio-gpu packages for more arch-es (bsc#1240157)
-------------------------------------------------------------------
Fri Feb 28 14:04:51 UTC 2025 - dfaggioli@suse.com
Fri Jun 13 07:09:25 UTC 2025 - Dario Faggioli <dfaggioli@suse.com>
- Update to latest upstream release, 9.2.2:
The full list of changes are available at:
https://lore.kernel.org/qemu-devel/3e847ae0-8dfc-440e-92f7-6eaa89818837@tls.msk.ru/
Highlights include:
* net/slirp: libslirp 4.9.0 compatibility
* target/sparc: Fix gdbstub incorrectly handling registers f32-f62
* target/sparc: Fix register selection for all F*TOx and FxTO* instructions
* elfload: Fix alignment when unmapping excess reservation
* hw/net/smc91c111: Ignore attempt to pop from empty RX fifo
* make-release: don't rely on $CWD when excluding subproject directories
* ui/sdl2: reenable the SDL2 Windows keyboard hook procedure
* vfio/iommufd: Fix SIGSEV in iommufd_cdev_attach()
* gitlab-ci.d/cirrus: Update the FreeBSD job to v14.2
* qmp: update vhost-user protocol feature maps
* linux-user: Do not define struct sched_attr if libc headers do
* block-backend: Fix argument order when calling 'qapi_event_send_block_io_error()'
* block: Fix leak in send_qmp_error_event
* rust: add --rust-target option for bindgen
* ...
- Fix bsc#1243013:
* [openSUSE] rpm: disable LTO for userspace emulation on 15.6
- Fix bsc#1237603:
* linux-user: Do not define struct sched_attr if libc headers do
- Update version to 8.2.10
* Full changelog here:
https://lore.kernel.org/qemu-devel/7dd1fbc7-a58f-4b2c-82b9-735840246ab2@tls.msk.ru/
* Some backports:
hw/misc/aspeed_hace: Fix buffer overflow in has_padding function
target/ppc: Fix e200 duplicate SPRs
linux-user/riscv: Fix handling of cpu mask in riscv_hwprobe syscall
docs/about/emulation: Fix broken link
vdpa: Allow vDPA to work on big-endian machine
vdpa: Fix endian bugs in shadow virtqueue
target/loongarch: Fix vldi inst
target/arm: Simplify pstate_sm check in sve_access_check
target/arm: Make DisasContext.{fp, sve}_access_checked tristate
util/cacheflush: Make first DSB unconditional on aarch64
ui/cocoa: Temporarily ignore annoying deprecated declaration warnings
docs: Rename default-configs to configs
block: Zero block driver state before reopening
hw/xen/hvm: Fix Aarch64 typo
hw/net/smc91c111: Don't allow data register access to overrun buffer
hw/net/smc91c111: Sanitize packet length on tx
hw/net/smc91c111: Sanitize packet numbers
hw/net/smc91c111: Ignore attempt to pop from empty RX fifo
ppc/pnv/occ: Fix common area sensor offsets
net: move backend cleanup to NIC cleanup
net: parameterize the removing client from nc list
util/qemu-timer.c: Don't warp timer from timerlist_rearm()
target/arm: Correct STRD atomicity
target/arm: Correct LDRD atomicity and fault behaviour
...
-------------------------------------------------------------------
Wed Feb 12 16:06:45 UTC 2025 - dfaggioli@suse.com
Mon Mar 24 08:53:14 UTC 2025 - dfaggioli@suse.com
- Fix bsc#1228343:
- Fixes for bsc#1237603, bsc#1236709, bsc#1236709:
* linux-user: Do not define struct sched_attr if libc headers do (bsc#1237603)
* elfload: Fix alignment when unmapping excess reservation (bsc#1236709)
* linux-user: Honor elf alignment when placing images (bsc#1236709)
-------------------------------------------------------------------
Thu Feb 13 17:06:26 UTC 2025 - dfaggioli@suse.com
- Fix bsc#1228343:
* tests/acpi: q35: Update host address width in DMAR (bsc#1228343)
* intel_iommu: Set default aw_bits to 48 starting from QEMU 9.2 (bsc#1228343)
* tests/acpi: q35: allow DMAR acpi table changes (bsc#1228343)
- Full boot order support (jsc#PED-958):
* pc-bios: Update the s390 bios images with the recent changes (jsc#PED-958)
* pc-bios/s390-ccw: Abort IPL on invalid loadparm (jsc#PED-958)
* pc-bios/s390-ccw/netmain: Fix error messages with regards to the TFTP server (jsc#PED-958)
* pc-bios/s390-ccw: Fix boot problem with virtio-net devices (jsc#PED-958)
* pc-bios/s390-ccw/virtio: Add a function to reset a virtio device (jsc#PED-958)
* hw/s390x: Fix crash that occurs when inspecting older versioned machines types (jsc#PED-958)
- Update to latest upstream release, 9.2.1:
The full list of changes are available at:
https://lore.kernel.org/qemu-devel/qemu-stable-9.2.1-20250207102656@cover.tls.msk.ru/
Highlights include:
* 9pfs: fix regression regarding CVE-2023-2861
* tcg: Reset free_temps before tcg_optimize
* tcg/riscv: Fix StoreStore barrier generation
* x86/loader: only patch linux kernels
* roms: re-add edk2-basetools target
* pc-bios: add missing riscv64 descriptor
* hw/intc/arm_gicv3_its: Zero initialize local DTEntry etc structs
* meson.build: Disallow libnfs v6 to fix the broken macOS build
* target/i386: Reset TSCs of parked vCPUs too on VM reset
* hw/intc/riscv_aplic: Fix APLIC in_clrip and clripnum write emulation
* s390x/s390-virtio-ccw: don't crash on weird RAM sizes
* target/loongarch: Use actual operand size with vbsrl check
* docs: Correct '-runas' and '-fsdev/-virtfs proxy' indentation
* docs: Correct release of TCG trace-events removal
* target/i386/cpu: Fix notes for CPU models
* migration/multifd: Fix compile error caused by page_size usage
* migration/multifd: Fix compat with QEMU < 9.0
* migration: Add more error handling to analyze-migration.py
* migration: Remove unused argument in vmsd_desc_field_end
* migration: Fix parsing of s390 stream
* s390x: Fix CSS migration
* migration: Rename vmstate_info_nullptr
* ...
- Update version to 8.2.9
* Full changelog here:
https://lore.kernel.org/qemu-devel/568115c5-8908-4931-aae0-a57bf542f68a@tls.msk.ru/
* Some backports:
gdbstub/user-target: fix gdbserver int format (%d -> %x)
target/s390x: Fix MVC not always invalidating translation blocks
physmem: fix qemu_ram_alloc_from_fd size calculation
hw/usb/canokey: Fix buffer overflow for OUT packet
target/arm: arm_reset_sve_state() should set FPSR, not FPCR
hw/cxl: Fix msix_notify: Assertion `vector < dev->msix_entries_nr`
tests: acpi: update expected blobs
pci: acpi: Windows 'PCI Label Id' bug workaround
tests: acpi: whitelist expected blobs
pci/msix: Fix msix pba read vector poll end calculation
pci: ensure valid link status bits for downstream ports
hw/usb/hcd-xhci-pci: Use modulo to select MSI vector as per spec
backends/cryptodev-vhost-user: Fix local_error leaks
tests/qtest/boot-serial-test: Correct HPPA machine name
target/i386/cpu: Fix notes for CPU models
docs: Correct release of TCG trace-events removal
target/loongarch: Use actual operand size with vbsrl check
s390x/s390-virtio-ccw: don't crash on weird RAM sizes
vhost-user: fix shared object return values
meson.build: Disallow libnfs v6 to fix the broken macOS build
hw/intc/arm_gicv3_its: Zero initialize local DTEntry etc structs
roms: re-add edk2-basetools target
edk2: commit version info
edk2: get version + date from git submodule
x86/loader: only patch linux kernels
...
-------------------------------------------------------------------
Wed Feb 05 01:31:02 UTC 2025 - dfaggioli@suse.com
Fri Dec 20 19:27:04 UTC 2024 - dfaggioli@suse.com
- Fix bsc#1235709:
* target/s390x: Fix MVC not always invalidating translation blocks
- Properly fix bsc#1232283:
* nbd/server: avoid per-NBDRequest nbd_client_get/put() (bsc#1232283)
-------------------------------------------------------------------
Thu Jan 23 11:36:36 UTC 2025 - dfaggioli@suse.com
Tue Nov 26 18:51:17 UTC 2024 - dfaggioli@suse.com
- CPU model for new IBM Z HW (jsc#PED-10266):
* s390x/cpumodel: gen17 model
* s390x/cpumodel: Add PLO-extension facility
* s390x/cpumodel: correct PLO feature wording
* s390x/cpumodel: Add Sequential-Instruction-Fetching facility
* s390x/cpumodel: add Ineffective-nonconstrained-transaction facility
* s390x/cpumodel: add Vector-Packed-Decimal-Enhancement facility 3
* s390x/cpumodel: add Miscellaneous-Instruction-Extensions Facility 4
* s390x/cpumodel: add Vector Enhancements facility 3
* s390x/cpumodel: add Concurrent-functions facility support
* linux-headers: Update to Linux 6.13-rc1
* s390x/cpumodel: Add ptff Query Time-Stamp Event (QTSE) support
* s390x/cpumodel: add msa13 subfunctions
* s390x/cpumodel: add msa12 changes
* s390x/cpumodel: add msa11 subfunctions
* s390x/cpumodel: add msa10 subfunctions
-------------------------------------------------------------------
Wed Jan 22 15:04:53 UTC 2025 - dfaggioli@suse.com
- Build properly with the latest version of Sphinx:
* [openSUSE][RPM] Fix the build with the latest Sphinx
-------------------------------------------------------------------
Fri Dec 20 08:03:35 UTC 2024 - dfaggioli@suse.com
- Update to latest upstream release, 9.2.0:
The full list of changes are available at:
https://wiki.qemu.org/ChangeLog/9.2
Highlights include:
* virtio-gpu: support for 3D acceleration of Vulkan applications via
Venus Vulkan driver in the guest and virglrenderer host library
* crypto: GLib crypto backend now supports SHA-384 hashes
* migration: QATzip-accelerated compression support while using multiple
migration streams
* Rust: experimental support for device models written in Rust (for
development use only)
* ARM: emulation support for FEAT_EBF16, FEAT_CMOW architecture features
* ARM: support for two-stage SMMU translation for sbsa-ref and virt boards
* ARM: support for CPU Security Extensions for xilinx-zynq-a9 board
* ARM: 64GB+ memory support when using HVF acceleration on newer Macs
* HPPA: SeaBIOS-hppa v17 firmware with various fixes and enhancements
* RISC-V: IOMMU support for virt machine
* RISC-V: support for control flow integrity and Svvptc extensions, and
support for Bit-Manipulation extension on OpenTitan boards
* RISC-V: improved performance for vector unit-stride/whole register
ld/st instructions
* s390x: support for booting from other devices if the previous ones fail
* x86: support for new nitro-enclave machine type that can emulate
* AWS Nitro Enclave and can boot from Enclave Image Format files.
* x86: KVM support for enabling AVX10, as well as enabling specific
AVX10 versions via command-line
* and lots more...
- Other changes:
* Removed deprecated 'cris' support
* Removed deprecated virtfs-proxy-helper
* (`--enable-rust` not addressed yet)
-------------------------------------------------------------------
Tue Dec 10 17:36:14 UTC 2024 - dfaggioli@suse.com
- Fix bsc#1232712. The problem must be addressed upstream. This is
only a temporary measure, that should be reverted as soon as
possible:
* Revert "ui/curses: Do not use console_select()" (bsc#1232712)
* Revert "hw/xen: Register framebuffer backend via xen_backend_init()" (bsc#1232712)
-------------------------------------------------------------------
Tue Nov 26 16:06:49 UTC 2024 - dfaggioli@suse.com
- Fix bsc#1233530:
* docs: use consistent markup for footnotes (bsc#1233530)
* docs: avoid footnotes consisting of just URLs (bsc#1233530)
* docs: fix invalid footnote syntax (bsc#1233692)
-------------------------------------------------------------------
Tue Nov 26 14:26:05 UTC 2024 - dfaggioli@suse.com
- Fix bsc#1233530:
- Fix boo#1231166, bsc#1228079, bsc#1221812,
bsc#1232283, bsc#1230978, bsc#1233530:
* [openSUSE][RPM] The qemu translation is not being installed (boo#1231166)
* target/i386: Expose IBPB-BRTYPE and SBPB CPUID bits to the guest (bsc#1228079)
* [openSUSE] block: Move qcow2 invalidation query-block op_blocker
* scsi: megasas: Internal cdbs have 16-byte length (bsc#1233530)
-------------------------------------------------------------------
Tue Nov 26 14:07:32 UTC 2024 - dfaggioli@suse.com
Tue Nov 26 18:25:40 UTC 2024 - dfaggioli@suse.com
- Fix bsc#1221812, bsc#1232283, bsc#1230978:
* [openSUSE] block: Move qcow2 invalidation query-block op_blocker
- Update version to 8.2.8
* Full changelog here:
https://lore.kernel.org/qemu-devel/1b7d3242-abe9-408a-bd77-85162e0d0de4@tls.msk.ru/
* Some backports:
usb-hub: Fix handling port power control messages
hw/audio/hda: fix memory leak on audio setup (bsc#1232728)
hw/misc/mos6522: Fix bad class definition of the MOS6522 device
contrib/plugins: add compat for g_memdup2
target/i386: fix hang when using slow path for ptw_setl
tcg: Allow top bit of SIMD_DATA_BITS to be set in simd_desc()
linux-user/arm: Select vdso for be8 and be32 modes
linux-user/arm: Reduce vdso alignment to 4k
linux-user: Tolerate CONFIG_LSM_MMAP_MIN_ADDR
accel/tcg: Fix user-only probe_access_internal plugin check
target/arm: Drop user-only special case in sve_stN_r
linux-user: Fix setreuid and setregid to use direct syscalls
target/i386: Fix legacy page table walk
9pfs: fix crash on 'Treaddir' request
hw/nvme: fix handling of over-committed queues
migration: Ensure vmstate_save() sets errp
target/arm: Fix SVE SDOT/UDOT/USDOT (4-way, indexed)
target/ppc: Fix mtDPDES targeting SMT siblings
target/ppc: Set ctx->opcode for decode_insn32()
target/riscv: Fix vcompress with rvv_ta_all_1s
target/riscv/kvm: clarify how 'riscv-aia' default works
target/riscv/kvm: set 'aia_mode' to default in error path
hw/intc/riscv_aplic: Check and update pending when write sourcecfg
hw/intc/riscv_aplic: Fix in_clrip[x] read emulation
target/riscv: Set vtype.vill on CPU reset
... ... ...
-------------------------------------------------------------------
Tue Nov 26 14:00:53 UTC 2024 - dfaggioli@suse.com
Thu Oct 17 14:49:23 UTC 2024 - dfaggioli@suse.com
- Update to version 9.1.2:
Full changelog here:
https://lore.kernel.org/qemu-devel/21ba2773-11a6-45ad-bf98-9b5c2cdccb9b@tls.msk.ru/
Some of the most notable features:
* usb-hub: Fix handling port power control messages
* hw/audio/hda: fix memory leak on audio setup
* Revert "hw/audio/hda: fix memory leak on audio setup" (bsc#1232728)
* hw/misc/mos6522: Fix bad class definition of the MOS6522 device
* vfio/container: Fix container object destruction
* target/i386: fix hang when using slow path for ptw_setl
* tcg: Allow top bit of SIMD_DATA_BITS to be set in simd_desc()
* linux-user/arm: Select vdso for be8 and be32 modes
* linux-user/arm: Reduce vdso alignment to 4k
* linux-user: Tolerate CONFIG_LSM_MMAP_MIN_ADDR
* accel/tcg: Fix user-only probe_access_internal plugin check
* target/arm: Drop user-only special case in sve_stN_r
* linux-user: Fix setreuid and setregid to use direct syscalls
* hw/i386/pc: Don't try to init PCI NICs if there is no PCI bus
* target/i386: Fix legacy page table walk
* 9pfs: fix crash on 'Treaddir' request
* hw/nvme: fix handling of over-committed queues
* migration: Ensure vmstate_save() sets errp
* target/arm: Fix SVE SDOT/UDOT/USDOT (4-way, indexed)
* target/arm: Add new MMU indexes for AArch32 Secure PL1&0
* Revert "target/arm: Fix usage of MMU indexes when EL3 is AArch32"
* acpi/disassemle-aml.sh: fix up after dir reorg
* hw/acpi: Fix ordering of BDF in Generic Initiator PCI Device Handle.
* qemu-ga: Fix a SIGSEGV in ga_run_command() helper
* hw/sd/sdcard: Fix calculation of size when using eMMC boot partitions
* tests/tcg: Replace -mpower8-vector with -mcpu=power8
* hw/ssi/pnv_spi: Fixes Coverity CID 1558831
* hw/ssi/pnv_spi: Return early in transfer()
-------------------------------------------------------------------
Mon Nov 18 09:48:05 UTC 2024 - dfaggioli@suse.com
- Build and bug fixes:
* edk2: update submodule to edk2-stable202408.01
* Revert "hw/audio/hda: fix memory leak on audio setup" (bsc#1232728)
-------------------------------------------------------------------
Thu Nov 07 09:29:31 UTC 2024 - dfaggioli@suse.com
- Fix bsc#1228079:
* target/i386: Expose IBPB-BRTYPE and SBPB CPUID bits to the guest (bsc#1228079)
- Add further CPUID bits fixes:
* target/i386: Expose new feature bits in CPUID 8000_0021_EAX/EBX
* target/i386: Expose bits related to SRSO vulnerability
* target/i386: Add PerfMonV2 feature bit
* target/i386: Fix minor typo in NO_NESTED_DATA_BP feature bit
-------------------------------------------------------------------
Wed Nov 06 14:04:13 UTC 2024 - dfaggioli@suse.com
- Fix bsc#1232617:
* qemu-ga: Fix a SIGSEGV in ga_run_command() helper (bsc#1232617)
-------------------------------------------------------------------
Tue Oct 29 11:03:28 UTC 2024 - Dario Faggioli <dfaggioli@suse.com>
- Update to version 9.1.1:
Full changelog here:
https://lore.kernel.org/qemu-devel/7f0561ec-3564-4860-bacf-a98071a5ce52@tls.msk.ru/
Some of the most notable features:
* ui/dbus: fix filtering all update messages
* ui/win32: fix potential use-after-free with dbus shared memory
* ui/dbus: fix leak on message filtering
* hw/audio/hda: fix memory leak on audio setup
* hw/audio/hda: free timer on exit
* hw/char/pl011: Use correct masks for IBRD and FBRD
* hw/intc/arm_gicv3_cpuif: Add cast to match the documentation
* hw/intc/arm_gicv3: Add cast to match the documentation
* hw/intc/arm_gicv3: Add cast to match the documentation
* meson: ensure -mcx16 is passed when detecting ATOMIC128
* meson: define qemu_isa_flags
* meson: fix machine option for x86_version
* target/m68k: Always return a temporary from gen_lea_mode
* tcg/ppc: Use TCG_REG_TMP2 for scratch index in prepare_host_addr
* tcg/ppc: Use TCG_REG_TMP2 for scratch tcg_out_qemu_st
* linux-user: Fix parse_elf_properties GNU0_MAGIC check
* linux-user/flatload: Take mmap_lock in load_flt_binary()
* vnc: fix crash when no console attached
* testing: bump mips64el cross to bookworm and fix package list
* hw/sd/sdcard: Fix handling of disabled boot partitions
* target/arm: Avoid target_ulong for physical address lookups
* block/reqlist: allow adding overlapping requests
* util/timer: avoid deadlock when shutting down
* hw/mips/jazz: fix typo in in-built NIC alias
* tcg: Fix iteration step in 32-bit gvec operation
* hw/loongarch/virt: Add description for virt machine type
* migration/multifd: Fix p->iov leak in multifd-uadk.c
* target/ppc: Fix migration of CPUs with TLB_EMB TLB type
* target/hppa: Fix random 32-bit linux-user crashes
* target/arm: Correct ID_AA64ISAR1_EL1 value for neoverse-v1
* hw/char/stm32l4x5_usart.c: Enable USART ACK bit response
* migration/multifd: Fix rb->receivedmap cleanup race
* mac_dbdma: Remove leftover `dma_memory_unmap` calls
-------------------------------------------------------------------
Tue Oct 29 10:43:50 UTC 2024 - dfaggioli@suse.com
- Fix boo#1231166:
* [openSUSE][RPM] The qemu translation is not being installed (boo#1231166)
-------------------------------------------------------------------
Wed Oct 16 14:39:46 UTC 2024 - dfaggioli@suse.com
- Bug and CVE fixes:
* softmmu/physmem: fix memory leak in dirty_memory_extend()
- Bugfixes and CVEs:
* hw/usb/hcd-ohci: Fix #1510, #303: pid not IN or OUT (bsc#1230834, CVE-2024-8354)
* softmmu: Support concurrent bounce buffers (bsc#1230915, CVE-2024-8612)
* accel/kvm: check for KVM_CAP_READONLY_MEM on VM (bsc#1231519)
* system/physmem: Per-AddressSpace bounce buffering (bsc#1230915, CVE-2024-8612)
* system/physmem: Propagate AddressSpace to MapClient helpers (bsc#1230915, CVE-2024-8612)
* system/physmem: Replace qemu_mutex_lock() calls with QEMU_LOCK_GUARD (bsc#1230915, CVE-2024-8612)
-------------------------------------------------------------------
Tue Oct 15 17:02:49 UTC 2024 - dfaggioli@suse.com
Tue Oct 15 17:15:26 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
- Update version to 8.2.7
* Full changelog here:
https://lore.kernel.org/qemu-devel/d9ff276f-f1ba-4e90-8343-a7a0dc2bf305@tls.msk.ru/
* Fixes:
bsc#1229007, CVE-2024-7409
bsc#1224132, CVE-2024-4693
* Some backports:
gitlab: fix logic for changing docker tag on stable branches
ui/sdl2: set swap interval explicitly when OpenGL is enabled
hw/intc/arm_gic: fix spurious level triggered interrupts
hw/audio/virtio-sound: fix heap buffer overflow
tests/docker: update debian i686 and mipsel images to bookworm
tests/docker: remove debian-armel-cross
hw/display/vhost-user-gpu.c: fix vhost_user_gpu_chr_read()
crypto: check gnutls & gcrypt support the requested pbkdf hash
crypto: run qcrypto_pbkdf2_count_iters in a new thread
softmmu/physmem: fix memory leak in dirty_memory_extend()
target/ppc: Fix migration of CPUs with TLB_EMB TLB type
gitlab: migrate the s390x custom machine to 22.04
target/hppa: Fix PSW V-bit packaging in cpu_hppa_get for hppa64
hw/audio/virtio-snd: fix invalid param check
virtio-pci: Fix the use of an uninitialized irqfd
-------------------------------------------------------------------
Wed Sep 11 17:42:03 UTC 2024 - dfaggioli@suse.com
Tue Sep 17 10:00:55 UTC 2024 - dfaggioli@suse.com
- Re-enable vhdx support in qemu-img:
* [openSUSE][RPM] explicitly enable qemu-img support for vhdx and vpc
- Fix bsc#1229929, bsc#1230140 (patch already submitted upstream):
* [openSUSE] target/ppc: Fix lxvx/stxvx facility check (bsc#1229929)
-------------------------------------------------------------------
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
Tue Aug 27 16:38:53 UTC 2024 - dfaggioli@suse.com
- Fix bsc#1221812:
* [openSUSE] block: Reschedule query-block during qcow2 invalidation (bsc#1221812)
- Fixup a previous patch (cure a build warning):
- Fixup old patches and infra issues:
* [openSUSE] fixup patch "pc: q35: Allow 1024 cpus for old machine types"
* [openSUSE] Point submodule branches to gitlab
-------------------------------------------------------------------
Tue Aug 27 16:45:36 UTC 2024 - dfaggioli@suse.com
Tue Aug 13 15:58:46 UTC 2024 - dfaggioli@suse.com
- Infra improvement:
* [openSUSE] Workflows for Virtualization:Staging:TDX
- 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)
-------------------------------------------------------------------
Wed Jul 24 10:00:54 UTC 2024 - dfaggioli@suse.com
Mon Aug 12 16:47:31 UTC 2024 - dfaggioli@suse.com
- 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:
- 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:
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
tests: add testing of parameter=3D1 for SMP topology (bsc#1228169)
hw/core: allow parameter=3D1 for SMP topology on any machine
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()
-------------------------------------------------------------------
Fri Jun 28 14:40:26 UTC 2024 - dfaggioli@suse.com
- Update to version 8.2.5:
Full backport lists (from the various releases) here:
https://lore.kernel.org/qemu-devel/1718081047.648425.1238605.nullmailer@tls.msk.ru/
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<n>
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
...
-------------------------------------------------------------------
Fri Jun 28 14:39:13 UTC 2024 - dfaggioli@suse.com
- 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
...
-------------------------------------------------------------------
Fri May 17 11:44:56 UTC 2024 - dfaggioli@suse.com
- 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

View File

@@ -1,4 +1,4 @@
name: qemu
version: 10.0.3
mtime: 1755011742
commit: d2104651468e8600e07e5db75cff834999993680
version: 8.2.10
mtime: 1753164235
commit: 551464c096de20bb2c64fcb8c5c45bc9e5ec0589

411
qemu.spec
View File

@@ -1,7 +1,7 @@
#
# spec file for package qemu
#
# Copyright (c) 2025 SUSE LLC and contributors
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -53,7 +53,7 @@
%ifarch %ix86 x86_64 ppc ppc64 ppc64le s390x armv7hl aarch64 riscv64
%define kvm_available 1
%bcond_without uring
%define with_uring 1
%define liburing_min_version 1.0
%endif
@@ -62,19 +62,13 @@
%endif
%ifarch x86_64 aarch64 ppc64le s390x
%bcond_without rbd
%define with_rbd 1
%endif
%ifarch x86_64 ppc64le
%bcond_without daxctl
%define with_daxctl 1
%endif
%ifarch x86_64
%bcond_without qatzip
%endif
%global have_libcbor 1
# enforce pxe rom sizes for migration compatability from SLE 11 SP3 forward
# the following need to be > 64K
%define supported_nics_large {e1000 rtl8139}
@@ -88,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: 10.0.3
Version: 8.2.10
Release: 0
Source0: qemu-%{version}.tar.xz
Source1: common.inc
@@ -133,35 +127,28 @@ 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}
BuildRequires: libxdp-devel
%endif
%if 0%{with qatzip}
BuildRequires: qatzip-devel
%endif
%if %{have_libcbor}
BuildRequires: libcbor-devel
%endif
%if 0%{?suse_version} >= 1600
BuildRequires: python3-Sphinx
BuildRequires: python3-base >= 3.8
BuildRequires: python3-sphinx_rtd_theme
%else
BuildRequires: python311-Sphinx
BuildRequires: python311-base
@@ -187,11 +174,6 @@ 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)
@@ -227,6 +209,11 @@ 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}
@@ -242,7 +229,7 @@ Requires: user(qemu)
Requires: (qemu-guest-agent = %{version} if qemu-guest-agent)
## Packages we will RECOMMEND
%ifarch s390x
Requires: qemu-hw-s390x-virtio-gpu-ccw
Recommends: qemu-hw-s390x-virtio-gpu-ccw
%else
%ifarch arm
Requires: qemu-hw-display-virtio-gpu-pci
@@ -270,7 +257,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
@@ -290,7 +277,6 @@ Provides: kvm = %{version}
Provides: qemu-kvm = %{version}
## Pacakges we OBSOLETE (and CONFLICT)
Obsoletes: kvm <= %{version}
Obsoletes: qemu-accel-tcg-x86 < %{version}
Obsoletes: qemu-audio-oss < %{version}
Obsoletes: qemu-audio-sdl < %{version}
Obsoletes: qemu-kvm <= %{version}
@@ -355,7 +341,6 @@ This package acts as an umbrella package to the other QEMU sub-packages.
%dir %_datadir/%name/vhost-user
%dir %_sysconfdir/%name
%dir %_sysconfdir/%name/firmware
%dir %{_libdir}/%{name}
%dir /usr/lib/supportconfig
%dir /usr/lib/supportconfig/plugins
%_datadir/applications/qemu.desktop
@@ -378,7 +363,6 @@ This package acts as an umbrella package to the other QEMU sub-packages.
%_mandir/man7/qemu-cpu-models.7.gz
%_mandir/man7/qemu-qmp-ref.7.gz
%_mandir/man7/qemu-ga-ref.7.gz
%{_libdir}/%{name}/hw-uefi-vars.so
/usr/lib/supportconfig/plugins/%name
%license COPYING COPYING.LIB LICENSE
@@ -423,12 +407,12 @@ 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 hppa-firmware.img 64
# openbios-ppc openbios-sparc32 openbios-sparc64 palcode-clipper petalogix-ml605.dtb
# build (yet): bamboo.dtb canyonlands.dtb hppa-firmware.img 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
# vof-nvram.bin npcm8xx_bootrom.bin pnv-pnor.bin vof.bin vof-nvram.bin
# vof-nvram.bin
# Note that:
# - default firmwares are built "by default", i.e., they're built automatically
@@ -436,10 +420,11 @@ meson subprojects packagefiles --apply berkeley-softfloat-3
# - extra firmwares are built "manually" (see below) from their own sources
# (which, typically, are submodules checked out in the {srcdi}r/roms directory)
%define ppc_default_firmware %{nil}
#{vof.bin vof-nvram.bin}
%define ppc_extra_firmware {skiboot.lid slof.bin}
%define riscv64_default_firmware %{nil}
%define riscv64_extra_firmware {opensbi-riscv64-generic-fw_dynamic.bin}
%define s390x_default_firmware {s390-ccw.img}
%define s390x_default_firmware {s390-ccw.img s390-netboot.img}
%define s390x_extra_firmware %{nil}
%define x86_default_firmware {linuxboot.bin linuxboot_dma.bin multiboot.bin \
multiboot_dma.bin kvmvapic.bin pvh.bin}
@@ -511,8 +496,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/...):
# (pushd roms/seabios && git describe --tags --long --dirty > ../../rpm/seabios_version ; popd)
# (pushd roms/skiboot && ./make_version.sh > ../../rpm/skiboot_version ; popd)
# git -C roms/seabios describe --tags --long --dirty > rpm/seabios_version
# (cd roms/skiboot && ./make_version.sh > ../../rpm/skiboot_version)
cp %{rpmfilesdir}/seabios_version roms/seabios/.version
cp %{rpmfilesdir}/skiboot_version roms/skiboot/.version
find . -iname ".git" -exec rm -rf {} +
@@ -528,6 +513,7 @@ 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
@@ -556,8 +542,143 @@ 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_everything} \
--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 \
%if 0%{?suse_version} >= 1600
--audio-drv-list=pipewire,pa,alsa,jack,oss \
%else
@@ -577,34 +698,31 @@ EXTRA_CFLAGS="$(echo %{optflags} | sed -E 's/-[A-Z]?_FORTIFY_SOURCE[=]?[0-9]*//g
%if 0%{with canokey}
--enable-canokey \
%endif
%if 0%{kvm_available}
%if %{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 0%{with malloc_trim}
%if %{with malloc_trim}
--enable-malloc-trim \
%endif
%if 0%{with system_membarrier}
%if %{with system_membarrier}
--enable-membarrier \
%endif
%ifnarch %arm s390x
--enable-numa \
%endif
%if 0%{with rbd}
%if 0%{?with_rbd}
--enable-rbd \
%endif
%if 0%{with qatzip}
--enable-qatzip \
%endif
%if 0%{has_rutabaga_gfx}
%if %{has_rutabaga_gfx}
--enable-rutabaga-gfx \
%endif
--enable-alsa \
@@ -635,9 +753,6 @@ EXTRA_CFLAGS="$(echo %{optflags} | sed -E 's/-[A-Z]?_FORTIFY_SOURCE[=]?[0-9]*//g
--enable-iconv \
--enable-jack \
--enable-l2tpv3 \
%if %{have_libcbor}
--enable-libcbor \
%endif
--enable-libiscsi \
--enable-libkeyutils \
--enable-libnfs \
@@ -645,6 +760,7 @@ 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 \
@@ -657,6 +773,7 @@ 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 \
@@ -679,7 +796,6 @@ 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 \
@@ -691,7 +807,6 @@ 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 \
@@ -766,17 +881,16 @@ popd
%make_build -C %srcdir/roms seavgabios-ati \
%make_build -C %srcdir/roms pxerom NO_WERROR=1
%make_build -C %srcdir/roms pxerom
%make_build -C %srcdir/roms edk2-basetools EXTRA_OPTFLAGS='-fPIE'
%make_build -C %srcdir/roms efirom NO_WERROR=1
%make_build -C %srcdir/roms efirom
%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 NO_WERROR=1 pxerom_variants=virtio pxerom_targets=1af41000 pxerom
%make_build -C %srcdir/roms pxerom_variants=virtio pxerom_targets=1af41000 pxerom
%endif
for i in %supported_nics_large %unsupported_nics
@@ -819,9 +933,7 @@ install -D -m 0755 %{rpmfilesdir}/qemu-supportconfig %{buildroot}/usr/lib/suppor
install -D -m 0644 %{rpmfilesdir}/supported.arm.txt %{buildroot}%_docdir/qemu-arm/supported.txt
install -D -m 0644 %{rpmfilesdir}/supported.ppc.txt %{buildroot}%_docdir/qemu-ppc/supported.txt
install -D -m 0644 %{rpmfilesdir}/supported.x86.txt %{buildroot}%_docdir/qemu-x86/supported.txt
%ifnarch %ix86 armv7hl
install -D -m 0644 %{rpmfilesdir}/supported.s390.txt %{buildroot}%_docdir/qemu-s390x/supported.txt
%endif
%if %{legacy_qemu_kvm}
install -D -m 0644 %{rpmfilesdir}/qemu-kvm.1.gz %{buildroot}%_mandir/man1/qemu-kvm.1.gz
@@ -863,8 +975,6 @@ unlink %{buildroot}%_datadir/%name/firmware/60-edk2-aarch64.json
unlink %{buildroot}%_datadir/%name/firmware/60-edk2-arm.json
unlink %{buildroot}%_datadir/%name/firmware/60-edk2-i386.json
unlink %{buildroot}%_datadir/%name/firmware/60-edk2-x86_64.json
unlink %{buildroot}%_datadir/%name/firmware/60-edk2-loongarch64.json
unlink %{buildroot}%_datadir/%name/firmware/60-edk2-riscv64.json
unlink %{buildroot}%_datadir/%name/edk2-aarch64-code.fd
unlink %{buildroot}%_datadir/%name/edk2-arm-code.fd
unlink %{buildroot}%_datadir/%name/edk2-arm-vars.fd
@@ -873,10 +983,6 @@ 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
unlink %{buildroot}%_datadir/%name/edk2-loongarch64-code.fd
unlink %{buildroot}%_datadir/%name/edk2-loongarch64-vars.fd
# this was never meant for customer consumption - delete even though installed
unlink %{buildroot}%_bindir/elf2dmp
@@ -919,21 +1025,6 @@ 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
@@ -947,11 +1038,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/x86/microvm/
cp %{rpmfilesdir}/DSDT.pcie %{srcdir}/tests/data/acpi/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/x86/q35/
cp %{rpmfilesdir}/APIC.core-count2 %{rpmfilesdir}/DSDT.core-count2 %{rpmfilesdir}/FACP.core-count2 %{srcdir}/tests/data/acpi/q35/
%if 0%{?qemu_user_space_build}
# Seccomp is not supported by linux-user emulation
@@ -960,11 +1051,6 @@ echo 'int main (void) { return 0; }' > %{srcdir}/tests/unit/test-seccomp.c
echo 'int main (void) { return 0; }' > %{srcdir}/tests/unit/test-crypto-secret.c
%endif
# Quick sanity check, as it'll give easier to debug failures
# than we see with 'make check'
./qemu-system-%{qemu_arch} -help
./qemu-img -help
# Compile the QOM test binary first, so that ...
%make_build tests/qtest/qom-test
# ... make comes in fresh and has lots of address space (needed for 32bit, bsc#957379)
@@ -974,43 +1060,16 @@ echo 'int main (void) { return 0; }' > %{srcdir}/tests/unit/test-crypto-secret.c
%make_build check-build
# Let's now run the 'make check' component individually, so we have
# more control on the options (like -j, etc)
%define timeout_multiplier 1
# Particularly slow arch-es (on OBS) may benefit from this
%ifarch riscv64
%define timeout_multiplier 3
%endif
echo "######## unit tests ########"
%make_build check-unit
echo "######## QAPI schema tests ########"
%make_build check-qapi-schema
echo "######## DecodeTree tests ########"
%make_build check-decodetree
echo "######## Soft Float tests ########"
%make_build check-softfloat
%if %{with chkqtests} && !0%{?qemu_user_space_build}
echo "######## QTest tests ########"
# Run qtests sequentially, as it's too unreliable, when run in OBS, if parallelized
make -O V=1 VERBOSE=1 -j1 check-qtest TIMEOUT_MULTIPLIER=%{timeout_multiplier}
%endif
# This would be `make_build check-block`. But iotests are not reliable
# if ran in parallel in OBS, so let's be slow for now.
echo "######## Block I/O tests ########"
make -O V=1 VERBOSE=1 -j1 check-block TIMEOUT_MULTIPLIER=%{timeout_multiplier}
echo "######## Functional tests ########"
# NB: ppc64le hosts often fail one or more functional tests...
%ifnarch ppc64le
# 'check-func-quick' instead of 'check-functional' to avoid asset download
%make_build check-func-quick TIMEOUT_MULTIPLIER=%{timeout_multiplier}
make -O V=1 VERBOSE=1 -j1 check-block
%if %{with chkqtests} && !0%{?qemu_user_space_build}
# Run qtests sequentially, as it's too unreliable, when run in OBS, if parallelized
make -O V=1 VERBOSE=1 -j1 check-qtest
%endif
# Last step will be to run a full check-report, but we will
# enable this at a later point
#make -O V=1 VERBOSE=1 -j1 check-report.junit.xml
@@ -1132,6 +1191,7 @@ currently necessary for having a functional (headless) QEMU/KVM stack.
Summary: Machine emulator and virtualizer for x86 architectures
Group: System/Emulators/PC
Requires: %name = %{version}
Requires: qemu-accel-tcg-x86
Requires: qemu-ipxe
Requires: qemu-seabios
Requires: qemu-vgabios
@@ -1151,9 +1211,7 @@ This package provides i386 and x86_64 emulation.
%files x86
%_bindir/qemu-system-i386
%ifnarch %ix86 armv7hl
%_bindir/qemu-system-x86_64
%endif
%_datadir/%name/kvmvapic.bin
%_datadir/%name/linuxboot.bin
%_datadir/%name/linuxboot_dma.bin
@@ -1166,8 +1224,8 @@ This package provides i386 and x86_64 emulation.
Summary: Machine emulator and virtualizer for Power architectures
Group: System/Emulators/PC
Requires: %name = %{version}
Requires: qemu-SLOF
Requires: qemu-ipxe
Requires: qemu-SLOF
Recommends: qemu-vgabios
%description ppc
@@ -1177,20 +1235,16 @@ This package provides ppc and ppc64 emulation.
%files ppc
%_bindir/qemu-system-ppc
%ifnarch %ix86 armv7hl
%_bindir/qemu-system-ppc64
%endif
%_datadir/%name/bamboo.dtb
%_datadir/%name/canyonlands.dtb
%_datadir/%name/openbios-ppc
%_datadir/%name/qemu_vga.ndrv
%_datadir/%name/pnv-pnor.bin
%_datadir/%name/u-boot.e500
%_datadir/%name/u-boot-sam460-20100605.bin
%_datadir/%name/vof*.bin
%doc %_docdir/qemu-ppc
%ifnarch %ix86 armv7hl
%package s390x
Summary: Machine emulator and virtualizer for S/390 architectures
Group: System/Emulators/PC
@@ -1206,8 +1260,8 @@ This package provides s390x emulation.
%files s390x
%_bindir/qemu-system-s390x
%_datadir/%name/s390-ccw.img
%_datadir/%name/s390-netboot.img
%doc %_docdir/qemu-s390x
%endif
%package arm
Summary: Machine emulator and virtualizer for ARM architectures
@@ -1225,11 +1279,8 @@ This package provides arm emulation.
%files arm
%_bindir/qemu-system-arm
%ifnarch %ix86 armv7hl
%_bindir/qemu-system-aarch64
%endif
%_datadir/%name/npcm7xx_bootrom.bin
%_datadir/%name/npcm8xx_bootrom.bin
%doc %_docdir/qemu-arm
%package extra
@@ -1239,12 +1290,6 @@ Requires: %name = %{version}
Recommends: qemu-ipxe
Recommends: qemu-skiboot
Recommends: qemu-vgabios
%ifarch %ix86 armv7hl
# The package is not built any longer for 32bits arch-es, but we're still
# providing the s390-ccw.img firmware, as part of this package (for those
# arch-es only, of course)
Obsoletes: qemu-s390x < %{version}
%endif
%description extra
%{generic_qemu_description}
@@ -1254,35 +1299,31 @@ mips, sparc, and xtensa. (The term "extra" is juxtapositioned against more
popular QEMU packages which are dedicated to a single architecture.)
%files extra
%ifnarch %ix86 armv7hl
%_bindir/qemu-system-alpha
%_bindir/qemu-system-avr
%_bindir/qemu-system-cris
%_bindir/qemu-system-hppa
%_bindir/qemu-system-loongarch64
%_bindir/qemu-system-m68k
%_bindir/qemu-system-microblaze
%_bindir/qemu-system-microblazeel
%_bindir/qemu-system-mips64
%_bindir/qemu-system-mips64el
%_bindir/qemu-system-riscv64
%_bindir/qemu-system-sparc64
%endif
%_bindir/qemu-system-avr
%_bindir/qemu-system-m68k
%_bindir/qemu-system-mips
%_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
%_bindir/qemu-system-rx
%_bindir/qemu-system-sh4
%_bindir/qemu-system-sh4eb
%_bindir/qemu-system-sparc
%_bindir/qemu-system-sparc64
%_bindir/qemu-system-tricore
%_bindir/qemu-system-xtensa
%_bindir/qemu-system-xtensaeb
%ifarch %ix86 armv7hl
%_datadir/%name/s390-ccw.img
%endif
%_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
@@ -1653,24 +1694,8 @@ 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
@@ -1678,15 +1703,12 @@ 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
@@ -1701,6 +1723,8 @@ a virtfs helper, ivshmem, disk utilities and scripts for various purposes.
%_bindir/vmstate-static-checker.py
%_bindir/vmxcap
%verify(not mode) %attr(4750,root,kvm) %_libexecdir/qemu-bridge-helper
%_libexecdir/virtfs-proxy-helper
%_mandir/man1/virtfs-proxy-helper.1.gz
%dir %_sysconfdir/%name
%config(noreplace) %_sysconfdir/%name/bridge.conf
@@ -1794,6 +1818,23 @@ This package provides a service file for starting and stopping KSM.
%postun ksm
%service_del_postun ksm.service
%package accel-tcg-x86
Summary: TCG accelerator for QEMU
Group: System/Emulators/PC
%{qemu_module_conflicts}
%description accel-tcg-x86
TCG is the QEMU binary translator, responsible for converting from target to
host instruction set.
This package provides the TCG accelerator for QEMU.
%files accel-tcg-x86
%dir %_datadir/%name
%dir %_libdir/%name
%_libdir/%name/accel-tcg-i386.so
%_libdir/%name/accel-tcg-x86_64.so
%package accel-qtest
Summary: QTest accelerator for QEMU
Group: System/Emulators/PC
@@ -1808,39 +1849,39 @@ This package provides QTest accelerator for testing QEMU.
%files accel-qtest
%dir %_datadir/%name
%dir %_libdir/%name
%ifnarch %ix86 armv7hl
%_libdir/%name/accel-qtest-aarch64.so
%_libdir/%name/accel-qtest-alpha.so
%_libdir/%name/accel-qtest-hppa.so
%_libdir/%name/accel-qtest-loongarch64.so
%_libdir/%name/accel-qtest-microblaze.so
%_libdir/%name/accel-qtest-microblazeel.so
%_libdir/%name/accel-qtest-mips64.so
%_libdir/%name/accel-qtest-mips64el.so
%_libdir/%name/accel-qtest-ppc64.so
%_libdir/%name/accel-qtest-riscv64.so
%_libdir/%name/accel-qtest-s390x.so
%_libdir/%name/accel-qtest-sparc64.so
%_libdir/%name/accel-qtest-x86_64.so
%endif
%_libdir/%name/accel-qtest-arm.so
%_libdir/%name/accel-qtest-avr.so
%_libdir/%name/accel-qtest-cris.so
%_libdir/%name/accel-qtest-hppa.so
%_libdir/%name/accel-qtest-i386.so
%_libdir/%name/accel-qtest-loongarch64.so
%_libdir/%name/accel-qtest-m68k.so
%_libdir/%name/accel-qtest-microblaze.so
%_libdir/%name/accel-qtest-microblazeel.so
%_libdir/%name/accel-qtest-mips.so
%_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
%_libdir/%name/accel-qtest-riscv32.so
%_libdir/%name/accel-qtest-riscv64.so
%_libdir/%name/accel-qtest-rx.so
%_libdir/%name/accel-qtest-s390x.so
%_libdir/%name/accel-qtest-sh4.so
%_libdir/%name/accel-qtest-sh4eb.so
%_libdir/%name/accel-qtest-sparc.so
%_libdir/%name/accel-qtest-sparc64.so
%_libdir/%name/accel-qtest-tricore.so
%_libdir/%name/accel-qtest-x86_64.so
%_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
@@ -1918,7 +1959,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: 10.0.3%{sbver}
Version: 8.2.10%{sbver}
Release: 0
BuildArch: noarch
Conflicts: %name < 1.6.0
@@ -1939,7 +1980,7 @@ is the default and legacy BIOS for QEMU.
%package vgabios
Summary: VGA BIOSes for QEMU
Group: System/Emulators/PC
Version: 10.0.3%{sbver}
Version: 8.2.10%{sbver}
Release: 0
BuildArch: noarch
Conflicts: %name < 1.6.0
@@ -1965,7 +2006,7 @@ video card. For use with QEMU.
%package ipxe
Summary: PXE ROMs for QEMU NICs
Group: System/Emulators/PC
Version: 10.0.3
Version: 8.2.10
Release: 0
BuildArch: noarch
Conflicts: %name < 1.6.0