Compare commits

12 Commits
1.1 ... main

Author SHA256 Message Date
b1d7ff8392 Sync from SUSE:SLFO:Main qemu revision 60f177ec59a411540bfaf9fb5280d6e2 2025-08-19 16:44:04 +02:00
7ac5643928 Sync from SUSE:SLFO:Main qemu revision 2be470c43384a4d11e2d9b0cad0e8535 2025-07-16 11:15:36 +02:00
e7ea9f6d77 Sync from SUSE:SLFO:Main qemu revision fd96c54b56080c246e6d724f020f17a3 2025-06-18 21:28:43 +02:00
c0545e9322 Sync from SUSE:SLFO:Main qemu revision 453f45b1714ddcb86997c63276922169 2025-05-30 17:13:05 +02:00
f001a09037 Sync from SUSE:SLFO:Main qemu revision c6794da448e976117bac274ee0cb8596 2025-05-19 21:58:58 +02:00
de0b39ef02 Sync from SUSE:SLFO:Main qemu revision f0974adb844f9690e99c7e89ba9143df 2025-04-17 00:27:19 +02:00
2bf61c4308 Sync from SUSE:SLFO:Main qemu revision e690f18a30ea380eb4aa70ad0deb98d6 2025-03-20 12:39:22 +01:00
7e074ece03 Sync from SUSE:SLFO:Main qemu revision 45f8842e64e8bc00f7f905b6e70bcfa5 2025-02-25 17:26:15 +01:00
16710f9a89 Sync from SUSE:SLFO:Main qemu revision 63ebd35d9d3b686c30d01aa154746a06 2025-02-07 18:41:09 +01:00
323a598877 Sync from SUSE:SLFO:Main qemu revision bab9fc2f99ee71a8ff31703234c24be7 2024-12-27 15:59:51 +01:00
9cefb76620 Sync from SUSE:SLFO:Main qemu revision 643495f0e494f4edffb19cd7294024eb 2024-12-04 09:26:36 +01:00
b0c4906299 Sync from SUSE:SLFO:Main qemu revision c5207d38562bb85cf7d90aa81c494e50 2024-10-30 16:16:26 +01:00
9 changed files with 985 additions and 606 deletions

View File

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

View File

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

View File

@@ -1,6 +1,6 @@
%define _buildshell /bin/bash %define _buildshell /bin/bash
%define sbver 1.16.3_3_ga95067eb %define sbver 1.16.3_3_g3d33c746
%define srcdir %{_builddir}/%buildsubdir %define srcdir %{_builddir}/%buildsubdir
%define blddir %srcdir/build %define blddir %srcdir/build
@@ -46,6 +46,12 @@
%bcond_with xdp %bcond_with xdp
%endif %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) # Make it possible to build without spice (for SLE/Leap Micro)
%bcond_without spice %bcond_without spice
@@ -100,3 +106,157 @@ Many options are available for defining the emulated environment, including\
traditional devices, direct host device access, and interfaces specific to\ traditional devices, direct host device access, and interfaces specific to\
virtualization. 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) Normal file

Binary file not shown.

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

Binary file not shown.

View File

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

View File

@@ -1,279 +1,668 @@
------------------------------------------------------------------- -------------------------------------------------------------------
Tue Jul 22 06:24:44 UTC 2025 - Dario Faggioli <dfaggioli@suse.com> 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>
- Fix bsc#1246566: - Fix bsc#1246566:
* [roms] seabios: include "pciinit: don't misalign large BARs" (bsc#1246566) * [roms] seabios: include "pciinit: don't misalign large BARs" (bsc#1246566)
------------------------------------------------------------------- -------------------------------------------------------------------
Wed Jun 18 07:00:18 UTC 2025 - Dario Faggioli <dfaggioli@suse.com> 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
* ...
- Fix bsc#1240157: - Fix bsc#1240157:
* [openSUSE][RPM] spec: Require ipxe and virtio-gpu packages for more arch-es (bsc#1240157) * [openSUSE][RPM] spec: Require ipxe and virtio-gpu packages for more arch-es
------------------------------------------------------------------- -------------------------------------------------------------------
Fri Jun 13 07:09:25 UTC 2025 - Dario Faggioli <dfaggioli@suse.com> Fri Feb 28 14:04:51 UTC 2025 - dfaggioli@suse.com
- Fix bsc#1243013: - Update to latest upstream release, 9.2.2:
* [openSUSE] rpm: disable LTO for userspace emulation on 15.6 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
* ...
- Update version to 8.2.10 - Fix bsc#1237603:
* Full changelog here: * linux-user: Do not define struct sched_attr if libc headers do
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
...
------------------------------------------------------------------- -------------------------------------------------------------------
Mon Mar 24 08:53:14 UTC 2025 - dfaggioli@suse.com Wed Feb 12 16:06:45 UTC 2025 - dfaggioli@suse.com
- 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: - Fix bsc#1228343:
* tests/acpi: q35: Update host address width in DMAR (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) * 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) * tests/acpi: q35: allow DMAR acpi table changes (bsc#1228343)
- Update version to 8.2.9 - Full boot order support (jsc#PED-958):
* Full changelog here: * pc-bios: Update the s390 bios images with the recent changes (jsc#PED-958)
https://lore.kernel.org/qemu-devel/568115c5-8908-4931-aae0-a57bf542f68a@tls.msk.ru/ * pc-bios/s390-ccw: Abort IPL on invalid loadparm (jsc#PED-958)
* Some backports: * pc-bios/s390-ccw/netmain: Fix error messages with regards to the TFTP server (jsc#PED-958)
gdbstub/user-target: fix gdbserver int format (%d -> %x) * pc-bios/s390-ccw: Fix boot problem with virtio-net devices (jsc#PED-958)
target/s390x: Fix MVC not always invalidating translation blocks * pc-bios/s390-ccw/virtio: Add a function to reset a virtio device (jsc#PED-958)
physmem: fix qemu_ram_alloc_from_fd size calculation * hw/s390x: Fix crash that occurs when inspecting older versioned machines types (jsc#PED-958)
hw/usb/canokey: Fix buffer overflow for OUT packet
target/arm: arm_reset_sve_state() should set FPSR, not FPCR - Update to latest upstream release, 9.2.1:
hw/cxl: Fix msix_notify: Assertion `vector < dev->msix_entries_nr` The full list of changes are available at:
tests: acpi: update expected blobs https://lore.kernel.org/qemu-devel/qemu-stable-9.2.1-20250207102656@cover.tls.msk.ru/
pci: acpi: Windows 'PCI Label Id' bug workaround Highlights include:
tests: acpi: whitelist expected blobs * 9pfs: fix regression regarding CVE-2023-2861
pci/msix: Fix msix pba read vector poll end calculation * tcg: Reset free_temps before tcg_optimize
pci: ensure valid link status bits for downstream ports * tcg/riscv: Fix StoreStore barrier generation
hw/usb/hcd-xhci-pci: Use modulo to select MSI vector as per spec * x86/loader: only patch linux kernels
backends/cryptodev-vhost-user: Fix local_error leaks * roms: re-add edk2-basetools target
tests/qtest/boot-serial-test: Correct HPPA machine name * pc-bios: add missing riscv64 descriptor
target/i386/cpu: Fix notes for CPU models * hw/intc/arm_gicv3_its: Zero initialize local DTEntry etc structs
docs: Correct release of TCG trace-events removal * meson.build: Disallow libnfs v6 to fix the broken macOS build
target/loongarch: Use actual operand size with vbsrl check * target/i386: Reset TSCs of parked vCPUs too on VM reset
s390x/s390-virtio-ccw: don't crash on weird RAM sizes * hw/intc/riscv_aplic: Fix APLIC in_clrip and clripnum write emulation
vhost-user: fix shared object return values * s390x/s390-virtio-ccw: don't crash on weird RAM sizes
meson.build: Disallow libnfs v6 to fix the broken macOS build * target/loongarch: Use actual operand size with vbsrl check
hw/intc/arm_gicv3_its: Zero initialize local DTEntry etc structs * docs: Correct '-runas' and '-fsdev/-virtfs proxy' indentation
roms: re-add edk2-basetools target * docs: Correct release of TCG trace-events removal
edk2: commit version info * target/i386/cpu: Fix notes for CPU models
edk2: get version + date from git submodule * migration/multifd: Fix compile error caused by page_size usage
x86/loader: only patch linux kernels * 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
* ...
------------------------------------------------------------------- -------------------------------------------------------------------
Fri Dec 20 19:27:04 UTC 2024 - dfaggioli@suse.com Wed Feb 05 01:31:02 UTC 2025 - dfaggioli@suse.com
- Properly fix bsc#1232283: - Fix bsc#1235709:
* nbd/server: avoid per-NBDRequest nbd_client_get/put() (bsc#1232283) * target/s390x: Fix MVC not always invalidating translation blocks
------------------------------------------------------------------- -------------------------------------------------------------------
Tue Nov 26 18:51:17 UTC 2024 - dfaggioli@suse.com Thu Jan 23 11:36:36 UTC 2025 - dfaggioli@suse.com
- Fix boo#1231166, bsc#1228079, bsc#1221812, - CPU model for new IBM Z HW (jsc#PED-10266):
bsc#1232283, bsc#1230978, bsc#1233530: * s390x/cpumodel: gen17 model
* [openSUSE][RPM] The qemu translation is not being installed (boo#1231166) * s390x/cpumodel: Add PLO-extension facility
* target/i386: Expose IBPB-BRTYPE and SBPB CPUID bits to the guest (bsc#1228079) * s390x/cpumodel: correct PLO feature wording
* [openSUSE] block: Move qcow2 invalidation query-block op_blocker * 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:
* scsi: megasas: Internal cdbs have 16-byte length (bsc#1233530) * scsi: megasas: Internal cdbs have 16-byte length (bsc#1233530)
------------------------------------------------------------------- -------------------------------------------------------------------
Tue Nov 26 18:25:40 UTC 2024 - dfaggioli@suse.com Tue Nov 26 14:07:32 UTC 2024 - dfaggioli@suse.com
- Update version to 8.2.8 - Fix bsc#1221812, bsc#1232283, bsc#1230978:
* Full changelog here: * [openSUSE] block: Move qcow2 invalidation query-block op_blocker
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
... ... ...
------------------------------------------------------------------- -------------------------------------------------------------------
Thu Oct 17 14:49:23 UTC 2024 - dfaggioli@suse.com Tue Nov 26 14:00:53 UTC 2024 - dfaggioli@suse.com
- Bugfixes and CVEs: - Update to version 9.1.2:
* hw/usb/hcd-ohci: Fix #1510, #303: pid not IN or OUT (bsc#1230834, CVE-2024-8354) 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()
* softmmu: Support concurrent bounce buffers (bsc#1230915, CVE-2024-8612) * softmmu: Support concurrent bounce buffers (bsc#1230915, CVE-2024-8612)
* system/physmem: Per-AddressSpace bounce buffering (bsc#1230915, CVE-2024-8612) * accel/kvm: check for KVM_CAP_READONLY_MEM on VM (bsc#1231519)
* 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:15:26 UTC 2024 - dfaggioli@suse.com Tue Oct 15 17:02:49 UTC 2024 - dfaggioli@suse.com
- Update version to 8.2.7 - Fix bsc#1231519 and bsc#1230140:
* Full changelog here: * accel/kvm: check for KVM_CAP_READONLY_MEM on VM
https://lore.kernel.org/qemu-devel/d9ff276f-f1ba-4e90-8343-a7a0dc2bf305@tls.msk.ru/ * target/ppc: Fix lxvx/stxvx facility check
* 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
------------------------------------------------------------------- -------------------------------------------------------------------
Tue Sep 17 10:00:55 UTC 2024 - dfaggioli@suse.com Wed Sep 11 17:42:03 UTC 2024 - dfaggioli@suse.com
- Fix bsc#1229929, bsc#1230140 (patch already submitted upstream): - Re-enable vhdx support in qemu-img:
* [openSUSE] target/ppc: Fix lxvx/stxvx facility check (bsc#1229929) * [openSUSE][RPM] explicitly enable qemu-img support for vhdx and vpc
------------------------------------------------------------------- -------------------------------------------------------------------
Tue Aug 27 16:38:53 UTC 2024 - dfaggioli@suse.com 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: - Fix bsc#1221812:
* [openSUSE] block: Reschedule query-block during qcow2 invalidation (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] 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: - Infra improvement:
* nbd/server: CVE-2024-7409: Close stray clients at server-stop (bsc#1229007) * [openSUSE] Workflows for Virtualization:Staging:TDX
* 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)
------------------------------------------------------------------- -------------------------------------------------------------------
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: - 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/
Full backport lists (from the various releases) here: A selection of them is reported here too:
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 hw/nvme: fix number of PIDs for FDP RUH update
sphinx/qapidoc: Fix to generate doc for explicit, unboxed arguments sphinx/qapidoc: Fix to generate doc for explicit, unboxed arguments
char-stdio: Restore blocking mode of stdout on exit char-stdio: Restore blocking mode of stdout on exit
virtio: remove virtio_tswap16s() call in vring_packed_event_read() virtio: remove virtio_tswap16s() call in vring_packed_event_read()
virtio-pci: Fix the failure process in kvm_virtio_pci_vector_use_one() 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 block: Parse filenames only when explicitly requested
iotests/270: Don't store data-file with json: prefix in image iotests/270: Don't store data-file with json: prefix in image
iotests/244: Don't store data-file with protocol 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) qcow2: Don't open data_file with BDRV_O_NO_IO
target/arm: Fix FJCVTZS vs flush-to-zero tests: add testing of parameter=3D1 for SMP topology (bsc#1228169)
target/arm: Fix VCMLA Dd, Dn, Dm[idx] hw/core: allow parameter=3D1 for SMP topology on any machine
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 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/
Full backport lists (from the various releases) here: A selection of them is reported here too:
https://lore.kernel.org/qemu-devel/1718081047.648425.1238605.nullmailer@tls.msk.ru/ 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
...
Some of the upstream backports are: -------------------------------------------------------------------
target/loongarch: fix a wrong print in cpu dump Fri May 17 11:44:56 UTC 2024 - dfaggioli@suse.com
ui/sdl2: Allow host to power down screen
target/i386: fix SSE and SSE2 feature check - Update to version 9.0.0:
target/i386: fix xsave.flat from kvm-unit-tests Full changelog here:
disas/riscv: Decode all of the pmpcfg and pmpaddr CSRs https://wiki.qemu.org/ChangeLog/9.0
target/riscv/kvm.c: Fix the hart bit setting of AIA Highlights include:
target/riscv: rvzicbo: Fixup CBO extension register calculation * block: virtio-blk now supports multiqueue where different queues of a
target/riscv: do not set mtval2 for non guest-page faults single disk can be processed by different I/O threads
target/riscv: prioritize pmp errors in raise_mmu_exception() * gdbstub: various improvements such as catching syscalls in user-mode,
target/riscv: rvv: Remove redudant SEW checking for vector fp narrow/widen instructions support for fork-follow modes, and support for siginfo:read
target/riscv: rvv: Check single width operator for vfncvt.rod.f.f.w * memory: preallocation of memory backends can now be handled
target/riscv: rvv: Check single width operator for vector fp widen instructions concurrently using multiple threads in some cases
target/riscv: rvv: Fix Zvfhmin checking for vfwcvt.f.f.v and vfncvt.f.f.w instructions * migration: support for "mapped-ram" capability allowing for more
target/riscv/cpu.c: fix Zvkb extension config efficient VM snapshots, improved support for zero-page detection, and
target/riscv: Fix the element agnostic function problem checkpoint-restart support for VFIO
target/riscv/kvm: tolerate KVM disable ext errors * ARM: architectural feature support for ECV (Enhanced Counter Virtualization),
hw/intc/riscv_aplic: APLICs should add child earlier than realize NV (Nested Virtualization), and NV2 (Enhanced Nested
iotests: test NBD+TLS+iothread Virtualization)
qio: Inherit follow_coroutine_ctx across TLS * ARM: board support for B-L475E-IOT01A IoT node, mp3-an536 (MPS3 dev board
target/arm: Disable SVE extensions when SVE is disabled + AN536 firmware), and raspi4b (Raspberry Pi 4 Model B)
hw/intc/arm_gic: Fix handling of NS view of GICC_APR<n> * ARM: additional IO/disk/USB/SPI/ethernet controller and timer support for
hvf: arm: Fix encodings for ID_AA64PFR1_EL1 and debug System registers Freescale i.MX6, Allwinner R40, Banana Pi, npcm7xxx, and virt boards
gitlab: use 'setarch -R' to workaround tsan bug * HPPA: numerous bug fixes and SeaBIOS-hppa firmware updated to version 16
gitlab: use $MAKE instead of 'make' * LoongArch: KVM acceleration support, including LSX/LASX vector
dockerfiles: add 'MAKE' env variable to remaining containers extensions
gitlab: Update msys2-64bit runner tags * RISC-V: ISA/extension support for Zacas, amocas, RVA22 profiles,
target/i386: no single-step exception after MOV or POP SS 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 Thu May 16 14:43:38 UTC 2024 - dfaggioli@suse.com

View File

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

409
qemu.spec
View File

@@ -1,7 +1,7 @@
# #
# spec file for package qemu # spec file for package qemu
# #
# Copyright (c) 2024 SUSE LLC # Copyright (c) 2025 SUSE LLC and contributors
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # 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 %ifarch %ix86 x86_64 ppc ppc64 ppc64le s390x armv7hl aarch64 riscv64
%define kvm_available 1 %define kvm_available 1
%define with_uring 1 %bcond_without uring
%define liburing_min_version 1.0 %define liburing_min_version 1.0
%endif %endif
@@ -62,13 +62,19 @@
%endif %endif
%ifarch x86_64 aarch64 ppc64le s390x %ifarch x86_64 aarch64 ppc64le s390x
%define with_rbd 1 %bcond_without rbd
%endif %endif
%ifarch x86_64 ppc64le %ifarch x86_64 ppc64le
%define with_daxctl 1 %bcond_without daxctl
%endif %endif
%ifarch x86_64
%bcond_without qatzip
%endif
%global have_libcbor 1
# enforce pxe rom sizes for migration compatability from SLE 11 SP3 forward # enforce pxe rom sizes for migration compatability from SLE 11 SP3 forward
# the following need to be > 64K # the following need to be > 64K
%define supported_nics_large {e1000 rtl8139} %define supported_nics_large {e1000 rtl8139}
@@ -82,7 +88,7 @@ URL: https://www.qemu.org/
Summary: Machine emulator and virtualizer 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 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 Group: System/Emulators/PC
Version: 8.2.10 Version: 10.0.3
Release: 0 Release: 0
Source0: qemu-%{version}.tar.xz Source0: qemu-%{version}.tar.xz
Source1: common.inc Source1: common.inc
@@ -127,28 +133,35 @@ BuildRequires: libnuma-devel
%if 0%{with canokey} %if 0%{with canokey}
BuildRequires: canokey-qemu-devel BuildRequires: canokey-qemu-devel
%endif %endif
%if 0%{?with_daxctl} %if 0%{with daxctl}
BuildRequires: pkgconfig(libndctl) BuildRequires: pkgconfig(libndctl)
%endif %endif
%if %{kvm_available} %if %{kvm_available}
BuildRequires: pkgconfig(udev) BuildRequires: pkgconfig(udev)
%endif %endif
%if 0%{?with_rbd} %if 0%{with rbd}
BuildRequires: librbd-devel BuildRequires: librbd-devel
%endif %endif
%if 0%{with spice} %if 0%{with spice}
BuildRequires: pkgconfig(spice-protocol) >= 0.12.3 BuildRequires: pkgconfig(spice-protocol) >= 0.12.3
BuildRequires: pkgconfig(spice-server) >= 0.12.5 BuildRequires: pkgconfig(spice-server) >= 0.12.5
%endif %endif
%if 0%{?with_uring} %if 0%{with uring}
BuildRequires: pkgconfig(liburing) >= %liburing_min_version BuildRequires: pkgconfig(liburing) >= %liburing_min_version
%endif %endif
%if 0%{with xdp} %if 0%{with xdp}
BuildRequires: libxdp-devel BuildRequires: libxdp-devel
%endif %endif
%if 0%{with qatzip}
BuildRequires: qatzip-devel
%endif
%if %{have_libcbor}
BuildRequires: libcbor-devel
%endif
%if 0%{?suse_version} >= 1600 %if 0%{?suse_version} >= 1600
BuildRequires: python3-Sphinx BuildRequires: python3-Sphinx
BuildRequires: python3-base >= 3.8 BuildRequires: python3-base >= 3.8
BuildRequires: python3-sphinx_rtd_theme
%else %else
BuildRequires: python311-Sphinx BuildRequires: python311-Sphinx
BuildRequires: python311-base BuildRequires: python311-base
@@ -174,6 +187,11 @@ BuildRequires: multipath-tools-devel
BuildRequires: ninja >= 1.7 BuildRequires: ninja >= 1.7
BuildRequires: pam-devel BuildRequires: pam-devel
BuildRequires: pkgconfig 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(alsa)
BuildRequires: pkgconfig(epoxy) BuildRequires: pkgconfig(epoxy)
BuildRequires: pkgconfig(gbm) BuildRequires: pkgconfig(gbm)
@@ -209,11 +227,6 @@ BuildRequires: pkgconfig(virglrenderer) >= 0.4.1
BuildRequires: pkgconfig(vte-2.91) BuildRequires: pkgconfig(vte-2.91)
BuildRequires: pkgconfig(xkbcommon) BuildRequires: pkgconfig(xkbcommon)
BuildRequires: pkgconfig(zlib) BuildRequires: pkgconfig(zlib)
BuildRequires: rdma-core-devel
BuildRequires: snappy-devel
BuildRequires: update-desktop-files
BuildRequires: usbredir-devel >= 0.6
BuildRequires: xfsprogs-devel
%{?systemd_ordering} %{?systemd_ordering}
## Packages we will REQUIRE ## Packages we will REQUIRE
%if %{kvm_available} %if %{kvm_available}
@@ -229,7 +242,7 @@ Requires: user(qemu)
Requires: (qemu-guest-agent = %{version} if qemu-guest-agent) Requires: (qemu-guest-agent = %{version} if qemu-guest-agent)
## Packages we will RECOMMEND ## Packages we will RECOMMEND
%ifarch s390x %ifarch s390x
Recommends: qemu-hw-s390x-virtio-gpu-ccw Requires: qemu-hw-s390x-virtio-gpu-ccw
%else %else
%ifarch arm %ifarch arm
Requires: qemu-hw-display-virtio-gpu-pci Requires: qemu-hw-display-virtio-gpu-pci
@@ -257,7 +270,7 @@ Recommends: qemu-ksm = %{version}
Recommends: qemu-tools Recommends: qemu-tools
Recommends: qemu-ui-curses Recommends: qemu-ui-curses
## Packages we will SUGGEST ## Packages we will SUGGEST
%if 0%{?with_rbd} %if 0%{with rbd}
Suggests: qemu-block-rbd Suggests: qemu-block-rbd
%endif %endif
Suggests: qemu-accel-qtest Suggests: qemu-accel-qtest
@@ -277,6 +290,7 @@ Provides: kvm = %{version}
Provides: qemu-kvm = %{version} Provides: qemu-kvm = %{version}
## Pacakges we OBSOLETE (and CONFLICT) ## Pacakges we OBSOLETE (and CONFLICT)
Obsoletes: kvm <= %{version} Obsoletes: kvm <= %{version}
Obsoletes: qemu-accel-tcg-x86 < %{version}
Obsoletes: qemu-audio-oss < %{version} Obsoletes: qemu-audio-oss < %{version}
Obsoletes: qemu-audio-sdl < %{version} Obsoletes: qemu-audio-sdl < %{version}
Obsoletes: qemu-kvm <= %{version} Obsoletes: qemu-kvm <= %{version}
@@ -341,6 +355,7 @@ This package acts as an umbrella package to the other QEMU sub-packages.
%dir %_datadir/%name/vhost-user %dir %_datadir/%name/vhost-user
%dir %_sysconfdir/%name %dir %_sysconfdir/%name
%dir %_sysconfdir/%name/firmware %dir %_sysconfdir/%name/firmware
%dir %{_libdir}/%{name}
%dir /usr/lib/supportconfig %dir /usr/lib/supportconfig
%dir /usr/lib/supportconfig/plugins %dir /usr/lib/supportconfig/plugins
%_datadir/applications/qemu.desktop %_datadir/applications/qemu.desktop
@@ -363,6 +378,7 @@ This package acts as an umbrella package to the other QEMU sub-packages.
%_mandir/man7/qemu-cpu-models.7.gz %_mandir/man7/qemu-cpu-models.7.gz
%_mandir/man7/qemu-qmp-ref.7.gz %_mandir/man7/qemu-qmp-ref.7.gz
%_mandir/man7/qemu-ga-ref.7.gz %_mandir/man7/qemu-ga-ref.7.gz
%{_libdir}/%{name}/hw-uefi-vars.so
/usr/lib/supportconfig/plugins/%name /usr/lib/supportconfig/plugins/%name
%license COPYING COPYING.LIB LICENSE %license COPYING COPYING.LIB LICENSE
@@ -407,12 +423,12 @@ meson subprojects packagefiles --apply berkeley-testfloat-3
meson subprojects packagefiles --apply berkeley-softfloat-3 meson subprojects packagefiles --apply berkeley-softfloat-3
# for the record, this set of firmware files is installed, but we don't # 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 # build (yet): bamboo.dtb canyonlands.dtb hppa-firmware.img hppa-firmware.img 64
# openbios-sparc32 openbios-sparc64 palcode-clipper petalogix-ml605.dtb # openbios-ppc openbios-sparc32 openbios-sparc64 palcode-clipper petalogix-ml605.dtb
# petalogix-s3adsp1800.dtb QEMU,cgthree.bin QEMU,tcx.bin qemu_vga.ndrv # 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 # u-boot.e500 u-boot-sam460-20100605.bin opensbi-riscv32-generic-fw_dynamic.bin
# opensbi-riscv32-generic-fw_dynamic.elfnpcm7xx_bootrom.bin vof.bin # opensbi-riscv32-generic-fw_dynamic.elfnpcm7xx_bootrom.bin vof.bin
# vof-nvram.bin # vof-nvram.bin npcm8xx_bootrom.bin pnv-pnor.bin vof.bin vof-nvram.bin
# Note that: # Note that:
# - default firmwares are built "by default", i.e., they're built automatically # - default firmwares are built "by default", i.e., they're built automatically
@@ -420,11 +436,10 @@ meson subprojects packagefiles --apply berkeley-softfloat-3
# - extra firmwares are built "manually" (see below) from their own sources # - extra firmwares are built "manually" (see below) from their own sources
# (which, typically, are submodules checked out in the {srcdi}r/roms directory) # (which, typically, are submodules checked out in the {srcdi}r/roms directory)
%define ppc_default_firmware %{nil} %define ppc_default_firmware %{nil}
#{vof.bin vof-nvram.bin}
%define ppc_extra_firmware {skiboot.lid slof.bin} %define ppc_extra_firmware {skiboot.lid slof.bin}
%define riscv64_default_firmware %{nil} %define riscv64_default_firmware %{nil}
%define riscv64_extra_firmware {opensbi-riscv64-generic-fw_dynamic.bin} %define riscv64_extra_firmware {opensbi-riscv64-generic-fw_dynamic.bin}
%define s390x_default_firmware {s390-ccw.img s390-netboot.img} %define s390x_default_firmware {s390-ccw.img}
%define s390x_extra_firmware %{nil} %define s390x_extra_firmware %{nil}
%define x86_default_firmware {linuxboot.bin linuxboot_dma.bin multiboot.bin \ %define x86_default_firmware {linuxboot.bin linuxboot_dma.bin multiboot.bin \
multiboot_dma.bin kvmvapic.bin pvh.bin} multiboot_dma.bin kvmvapic.bin pvh.bin}
@@ -496,8 +511,8 @@ sed -i '/^\ \ \ about\/index.*/i \ \ \ supported.rst' docs/index.rst
# from a git branch. We, therefore, assumed that the following commands # from a git branch. We, therefore, assumed that the following commands
# have been run, and the result committed to the repository (with seabios # have been run, and the result committed to the repository (with seabios
# and skiboot at the proper commit/tag/...): # and skiboot at the proper commit/tag/...):
# git -C roms/seabios describe --tags --long --dirty > rpm/seabios_version # (pushd roms/seabios && git describe --tags --long --dirty > ../../rpm/seabios_version ; popd)
# (cd roms/skiboot && ./make_version.sh > ../../rpm/skiboot_version) # (pushd roms/skiboot && ./make_version.sh > ../../rpm/skiboot_version ; popd)
cp %{rpmfilesdir}/seabios_version roms/seabios/.version cp %{rpmfilesdir}/seabios_version roms/seabios/.version
cp %{rpmfilesdir}/skiboot_version roms/skiboot/.version cp %{rpmfilesdir}/skiboot_version roms/skiboot/.version
find . -iname ".git" -exec rm -rf {} + find . -iname ".git" -exec rm -rf {} +
@@ -513,7 +528,6 @@ export HOSTNAME=OBS # is used in roms/SLOF/Makefile.gen (boo#1084909)
# for them. # for them.
# TODO: Check whether we want to enable the followings: # TODO: Check whether we want to enable the followings:
# * avx512f
# * debug-info # * debug-info
# * fuse # * fuse
# * malloc-trim # * malloc-trim
@@ -542,143 +556,8 @@ EXTRA_CFLAGS="$(echo %{optflags} | sed -E 's/-[A-Z]?_FORTIFY_SOURCE[=]?[0-9]*//g
--localstatedir=%_localstatedir \ --localstatedir=%_localstatedir \
--prefix=%_prefix \ --prefix=%_prefix \
--sysconfdir=%_sysconfdir \ --sysconfdir=%_sysconfdir \
--with-pkgversion="%(echo '%{distro}' | sed 's/ (.*)//')" \ --with-pkgversion="$(echo '%{distro}' | sed 's/ (.*)//')" \
--disable-af-xdp \ %{disable_everything} \
--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 %if 0%{?suse_version} >= 1600
--audio-drv-list=pipewire,pa,alsa,jack,oss \ --audio-drv-list=pipewire,pa,alsa,jack,oss \
%else %else
@@ -698,31 +577,34 @@ EXTRA_CFLAGS="$(echo %{optflags} | sed -E 's/-[A-Z]?_FORTIFY_SOURCE[=]?[0-9]*//g
%if 0%{with canokey} %if 0%{with canokey}
--enable-canokey \ --enable-canokey \
%endif %endif
%if %{kvm_available} %if 0%{kvm_available}
--enable-kvm \ --enable-kvm \
%endif %endif
%if 0%{?with_daxctl} %if 0%{with daxctl}
--enable-libdaxctl \ --enable-libdaxctl \
%endif %endif
%if 0%{?with_uring} %if 0%{with uring}
--enable-linux-io-uring \ --enable-linux-io-uring \
%endif %endif
%if "%{_lto_cflags}" != "%{nil}" %if "%{_lto_cflags}" != "%{nil}"
--enable-lto \ --enable-lto \
%endif %endif
%if %{with malloc_trim} %if 0%{with malloc_trim}
--enable-malloc-trim \ --enable-malloc-trim \
%endif %endif
%if %{with system_membarrier} %if 0%{with system_membarrier}
--enable-membarrier \ --enable-membarrier \
%endif %endif
%ifnarch %arm s390x %ifnarch %arm s390x
--enable-numa \ --enable-numa \
%endif %endif
%if 0%{?with_rbd} %if 0%{with rbd}
--enable-rbd \ --enable-rbd \
%endif %endif
%if %{has_rutabaga_gfx} %if 0%{with qatzip}
--enable-qatzip \
%endif
%if 0%{has_rutabaga_gfx}
--enable-rutabaga-gfx \ --enable-rutabaga-gfx \
%endif %endif
--enable-alsa \ --enable-alsa \
@@ -753,6 +635,9 @@ EXTRA_CFLAGS="$(echo %{optflags} | sed -E 's/-[A-Z]?_FORTIFY_SOURCE[=]?[0-9]*//g
--enable-iconv \ --enable-iconv \
--enable-jack \ --enable-jack \
--enable-l2tpv3 \ --enable-l2tpv3 \
%if %{have_libcbor}
--enable-libcbor \
%endif
--enable-libiscsi \ --enable-libiscsi \
--enable-libkeyutils \ --enable-libkeyutils \
--enable-libnfs \ --enable-libnfs \
@@ -760,7 +645,6 @@ EXTRA_CFLAGS="$(echo %{optflags} | sed -E 's/-[A-Z]?_FORTIFY_SOURCE[=]?[0-9]*//g
--enable-libudev \ --enable-libudev \
--enable-libusb \ --enable-libusb \
--enable-linux-aio \ --enable-linux-aio \
--enable-live-block-migration \
--enable-lzfse \ --enable-lzfse \
--enable-lzo \ --enable-lzo \
--enable-modules \ --enable-modules \
@@ -773,7 +657,6 @@ EXTRA_CFLAGS="$(echo %{optflags} | sed -E 's/-[A-Z]?_FORTIFY_SOURCE[=]?[0-9]*//g
--enable-pipewire \ --enable-pipewire \
--enable-pixman \ --enable-pixman \
--enable-png \ --enable-png \
--enable-pvrdma \
--enable-qcow1 \ --enable-qcow1 \
--enable-qed \ --enable-qed \
--enable-rdma \ --enable-rdma \
@@ -796,6 +679,7 @@ EXTRA_CFLAGS="$(echo %{optflags} | sed -E 's/-[A-Z]?_FORTIFY_SOURCE[=]?[0-9]*//g
--enable-usb-redir \ --enable-usb-redir \
--enable-vde \ --enable-vde \
--enable-vdi \ --enable-vdi \
--enable-vhdx \
--enable-vhost-crypto \ --enable-vhost-crypto \
--enable-vhost-kernel \ --enable-vhost-kernel \
--enable-vhost-net \ --enable-vhost-net \
@@ -807,6 +691,7 @@ EXTRA_CFLAGS="$(echo %{optflags} | sed -E 's/-[A-Z]?_FORTIFY_SOURCE[=]?[0-9]*//g
--enable-vnc \ --enable-vnc \
--enable-vnc-jpeg \ --enable-vnc-jpeg \
--enable-vnc-sasl \ --enable-vnc-sasl \
--enable-vpc \
--enable-vte \ --enable-vte \
--enable-vvfat \ --enable-vvfat \
--enable-werror \ --enable-werror \
@@ -881,16 +766,17 @@ popd
%make_build -C %srcdir/roms seavgabios-ati \ %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 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} %if %{force_fit_virtio_pxe_rom}
pushd %srcdir pushd %srcdir
patch -p1 < %{rpmfilesdir}/openSUSE-pcbios-stub-out-the-SAN-req-s-i.patch patch -p1 < %{rpmfilesdir}/openSUSE-pcbios-stub-out-the-SAN-req-s-i.patch
popd 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 %endif
for i in %supported_nics_large %unsupported_nics for i in %supported_nics_large %unsupported_nics
@@ -933,7 +819,9 @@ 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.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.ppc.txt %{buildroot}%_docdir/qemu-ppc/supported.txt
install -D -m 0644 %{rpmfilesdir}/supported.x86.txt %{buildroot}%_docdir/qemu-x86/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 install -D -m 0644 %{rpmfilesdir}/supported.s390.txt %{buildroot}%_docdir/qemu-s390x/supported.txt
%endif
%if %{legacy_qemu_kvm} %if %{legacy_qemu_kvm}
install -D -m 0644 %{rpmfilesdir}/qemu-kvm.1.gz %{buildroot}%_mandir/man1/qemu-kvm.1.gz install -D -m 0644 %{rpmfilesdir}/qemu-kvm.1.gz %{buildroot}%_mandir/man1/qemu-kvm.1.gz
@@ -975,6 +863,8 @@ 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-arm.json
unlink %{buildroot}%_datadir/%name/firmware/60-edk2-i386.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-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-aarch64-code.fd
unlink %{buildroot}%_datadir/%name/edk2-arm-code.fd unlink %{buildroot}%_datadir/%name/edk2-arm-code.fd
unlink %{buildroot}%_datadir/%name/edk2-arm-vars.fd unlink %{buildroot}%_datadir/%name/edk2-arm-vars.fd
@@ -983,6 +873,10 @@ unlink %{buildroot}%_datadir/%name/edk2-i386-secure-code.fd
unlink %{buildroot}%_datadir/%name/edk2-i386-vars.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-code.fd
unlink %{buildroot}%_datadir/%name/edk2-x86_64-secure-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 # this was never meant for customer consumption - delete even though installed
unlink %{buildroot}%_bindir/elf2dmp unlink %{buildroot}%_bindir/elf2dmp
@@ -1025,6 +919,21 @@ done
# End of "if build_x86_firmware" # End of "if build_x86_firmware"
%endif %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 %suse_update_desktop_file qemu
# Common install steps for qemu and qemu-linux-user # Common install steps for qemu and qemu-linux-user
@@ -1038,11 +947,11 @@ cd %blddir
# do that in the patch itself. Instead, we keep a copy of the binary in the # 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. # 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. # 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 # 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 # 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} %if 0%{?qemu_user_space_build}
# Seccomp is not supported by linux-user emulation # Seccomp is not supported by linux-user emulation
@@ -1051,6 +960,11 @@ 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 echo 'int main (void) { return 0; }' > %{srcdir}/tests/unit/test-crypto-secret.c
%endif %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 ... # Compile the QOM test binary first, so that ...
%make_build tests/qtest/qom-test %make_build tests/qtest/qom-test
# ... make comes in fresh and has lots of address space (needed for 32bit, bsc#957379) # ... make comes in fresh and has lots of address space (needed for 32bit, bsc#957379)
@@ -1060,16 +974,43 @@ echo 'int main (void) { return 0; }' > %{srcdir}/tests/unit/test-crypto-secret.c
%make_build check-build %make_build check-build
# Let's now run the 'make check' component individually, so we have # Let's now run the 'make check' component individually, so we have
# more control on the options (like -j, etc) # 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 %make_build check-unit
echo "######## QAPI schema tests ########"
%make_build check-qapi-schema %make_build check-qapi-schema
echo "######## DecodeTree tests ########"
%make_build check-decodetree
echo "######## Soft Float tests ########"
%make_build check-softfloat %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 # 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. # if ran in parallel in OBS, so let's be slow for now.
make -O V=1 VERBOSE=1 -j1 check-block echo "######## Block I/O tests ########"
%if %{with chkqtests} && !0%{?qemu_user_space_build} make -O V=1 VERBOSE=1 -j1 check-block TIMEOUT_MULTIPLIER=%{timeout_multiplier}
# Run qtests sequentially, as it's too unreliable, when run in OBS, if parallelized
make -O V=1 VERBOSE=1 -j1 check-qtest 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}
%endif %endif
# Last step will be to run a full check-report, but we will # Last step will be to run a full check-report, but we will
# enable this at a later point # enable this at a later point
#make -O V=1 VERBOSE=1 -j1 check-report.junit.xml #make -O V=1 VERBOSE=1 -j1 check-report.junit.xml
@@ -1191,7 +1132,6 @@ currently necessary for having a functional (headless) QEMU/KVM stack.
Summary: Machine emulator and virtualizer for x86 architectures Summary: Machine emulator and virtualizer for x86 architectures
Group: System/Emulators/PC Group: System/Emulators/PC
Requires: %name = %{version} Requires: %name = %{version}
Requires: qemu-accel-tcg-x86
Requires: qemu-ipxe Requires: qemu-ipxe
Requires: qemu-seabios Requires: qemu-seabios
Requires: qemu-vgabios Requires: qemu-vgabios
@@ -1211,7 +1151,9 @@ This package provides i386 and x86_64 emulation.
%files x86 %files x86
%_bindir/qemu-system-i386 %_bindir/qemu-system-i386
%ifnarch %ix86 armv7hl
%_bindir/qemu-system-x86_64 %_bindir/qemu-system-x86_64
%endif
%_datadir/%name/kvmvapic.bin %_datadir/%name/kvmvapic.bin
%_datadir/%name/linuxboot.bin %_datadir/%name/linuxboot.bin
%_datadir/%name/linuxboot_dma.bin %_datadir/%name/linuxboot_dma.bin
@@ -1224,8 +1166,8 @@ This package provides i386 and x86_64 emulation.
Summary: Machine emulator and virtualizer for Power architectures Summary: Machine emulator and virtualizer for Power architectures
Group: System/Emulators/PC Group: System/Emulators/PC
Requires: %name = %{version} Requires: %name = %{version}
Requires: qemu-ipxe
Requires: qemu-SLOF Requires: qemu-SLOF
Requires: qemu-ipxe
Recommends: qemu-vgabios Recommends: qemu-vgabios
%description ppc %description ppc
@@ -1235,16 +1177,20 @@ This package provides ppc and ppc64 emulation.
%files ppc %files ppc
%_bindir/qemu-system-ppc %_bindir/qemu-system-ppc
%ifnarch %ix86 armv7hl
%_bindir/qemu-system-ppc64 %_bindir/qemu-system-ppc64
%endif
%_datadir/%name/bamboo.dtb %_datadir/%name/bamboo.dtb
%_datadir/%name/canyonlands.dtb %_datadir/%name/canyonlands.dtb
%_datadir/%name/openbios-ppc %_datadir/%name/openbios-ppc
%_datadir/%name/qemu_vga.ndrv %_datadir/%name/qemu_vga.ndrv
%_datadir/%name/pnv-pnor.bin
%_datadir/%name/u-boot.e500 %_datadir/%name/u-boot.e500
%_datadir/%name/u-boot-sam460-20100605.bin %_datadir/%name/u-boot-sam460-20100605.bin
%_datadir/%name/vof*.bin %_datadir/%name/vof*.bin
%doc %_docdir/qemu-ppc %doc %_docdir/qemu-ppc
%ifnarch %ix86 armv7hl
%package s390x %package s390x
Summary: Machine emulator and virtualizer for S/390 architectures Summary: Machine emulator and virtualizer for S/390 architectures
Group: System/Emulators/PC Group: System/Emulators/PC
@@ -1260,8 +1206,8 @@ This package provides s390x emulation.
%files s390x %files s390x
%_bindir/qemu-system-s390x %_bindir/qemu-system-s390x
%_datadir/%name/s390-ccw.img %_datadir/%name/s390-ccw.img
%_datadir/%name/s390-netboot.img
%doc %_docdir/qemu-s390x %doc %_docdir/qemu-s390x
%endif
%package arm %package arm
Summary: Machine emulator and virtualizer for ARM architectures Summary: Machine emulator and virtualizer for ARM architectures
@@ -1279,8 +1225,11 @@ This package provides arm emulation.
%files arm %files arm
%_bindir/qemu-system-arm %_bindir/qemu-system-arm
%ifnarch %ix86 armv7hl
%_bindir/qemu-system-aarch64 %_bindir/qemu-system-aarch64
%endif
%_datadir/%name/npcm7xx_bootrom.bin %_datadir/%name/npcm7xx_bootrom.bin
%_datadir/%name/npcm8xx_bootrom.bin
%doc %_docdir/qemu-arm %doc %_docdir/qemu-arm
%package extra %package extra
@@ -1290,6 +1239,12 @@ Requires: %name = %{version}
Recommends: qemu-ipxe Recommends: qemu-ipxe
Recommends: qemu-skiboot Recommends: qemu-skiboot
Recommends: qemu-vgabios 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 %description extra
%{generic_qemu_description} %{generic_qemu_description}
@@ -1299,31 +1254,35 @@ mips, sparc, and xtensa. (The term "extra" is juxtapositioned against more
popular QEMU packages which are dedicated to a single architecture.) popular QEMU packages which are dedicated to a single architecture.)
%files extra %files extra
%ifnarch %ix86 armv7hl
%_bindir/qemu-system-alpha %_bindir/qemu-system-alpha
%_bindir/qemu-system-avr
%_bindir/qemu-system-cris
%_bindir/qemu-system-hppa %_bindir/qemu-system-hppa
%_bindir/qemu-system-loongarch64 %_bindir/qemu-system-loongarch64
%_bindir/qemu-system-m68k
%_bindir/qemu-system-microblaze %_bindir/qemu-system-microblaze
%_bindir/qemu-system-microblazeel %_bindir/qemu-system-microblazeel
%_bindir/qemu-system-mips
%_bindir/qemu-system-mipsel
%_bindir/qemu-system-mips64 %_bindir/qemu-system-mips64
%_bindir/qemu-system-mips64el %_bindir/qemu-system-mips64el
%_bindir/qemu-system-nios2 %_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-or1k %_bindir/qemu-system-or1k
%_bindir/qemu-system-riscv32 %_bindir/qemu-system-riscv32
%_bindir/qemu-system-riscv64
%_bindir/qemu-system-rx %_bindir/qemu-system-rx
%_bindir/qemu-system-sh4 %_bindir/qemu-system-sh4
%_bindir/qemu-system-sh4eb %_bindir/qemu-system-sh4eb
%_bindir/qemu-system-sparc %_bindir/qemu-system-sparc
%_bindir/qemu-system-sparc64
%_bindir/qemu-system-tricore %_bindir/qemu-system-tricore
%_bindir/qemu-system-xtensa %_bindir/qemu-system-xtensa
%_bindir/qemu-system-xtensaeb %_bindir/qemu-system-xtensaeb
%ifarch %ix86 armv7hl
%_datadir/%name/s390-ccw.img
%endif
%_datadir/%name/hppa-firmware.img %_datadir/%name/hppa-firmware.img
%_datadir/%name/hppa-firmware64.img
%_datadir/%name/openbios-sparc32 %_datadir/%name/openbios-sparc32
%_datadir/%name/openbios-sparc64 %_datadir/%name/openbios-sparc64
%_datadir/%name/opensbi-riscv32-generic-fw_dynamic.bin %_datadir/%name/opensbi-riscv32-generic-fw_dynamic.bin
@@ -1694,8 +1653,24 @@ This package provides a helper utility for SCSI persistent reservations.
%files pr-helper %files pr-helper
%_bindir/qemu-pr-helper %_bindir/qemu-pr-helper
#%%{_unitdir}/qemu-pr-helper.service
#%%{_unitdir}/qemu-pr-helper.socket
%_mandir/man8/qemu-pr-helper.8.gz %_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 %package tools
Summary: Tools for QEMU Summary: Tools for QEMU
Group: System/Emulators/PC Group: System/Emulators/PC
@@ -1703,12 +1678,15 @@ Requires(pre): permissions
Requires: qemu-img Requires: qemu-img
Requires: qemu-pr-helper Requires: qemu-pr-helper
Requires: group(kvm) Requires: group(kvm)
%if 0%{with vmsr_helper}
Requires: qemu-vmsr-helper
%endif
%if %{has_virtiofsd} %if %{has_virtiofsd}
Requires: virtiofsd Requires: virtiofsd
%endif %endif
Recommends: multipath-tools Recommends: multipath-tools
Recommends: qemu-block-curl Recommends: qemu-block-curl
%if 0%{?with_rbd} %if 0%{with rbd}
Recommends: qemu-block-rbd Recommends: qemu-block-rbd
%endif %endif
@@ -1723,8 +1701,6 @@ a virtfs helper, ivshmem, disk utilities and scripts for various purposes.
%_bindir/vmstate-static-checker.py %_bindir/vmstate-static-checker.py
%_bindir/vmxcap %_bindir/vmxcap
%verify(not mode) %attr(4750,root,kvm) %_libexecdir/qemu-bridge-helper %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 %dir %_sysconfdir/%name
%config(noreplace) %_sysconfdir/%name/bridge.conf %config(noreplace) %_sysconfdir/%name/bridge.conf
@@ -1818,23 +1794,6 @@ This package provides a service file for starting and stopping KSM.
%postun ksm %postun ksm
%service_del_postun ksm.service %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 %package accel-qtest
Summary: QTest accelerator for QEMU Summary: QTest accelerator for QEMU
Group: System/Emulators/PC Group: System/Emulators/PC
@@ -1849,39 +1808,39 @@ This package provides QTest accelerator for testing QEMU.
%files accel-qtest %files accel-qtest
%dir %_datadir/%name %dir %_datadir/%name
%dir %_libdir/%name %dir %_libdir/%name
%ifnarch %ix86 armv7hl
%_libdir/%name/accel-qtest-aarch64.so %_libdir/%name/accel-qtest-aarch64.so
%_libdir/%name/accel-qtest-alpha.so %_libdir/%name/accel-qtest-alpha.so
%_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-hppa.so
%_libdir/%name/accel-qtest-i386.so
%_libdir/%name/accel-qtest-loongarch64.so %_libdir/%name/accel-qtest-loongarch64.so
%_libdir/%name/accel-qtest-m68k.so
%_libdir/%name/accel-qtest-microblaze.so %_libdir/%name/accel-qtest-microblaze.so
%_libdir/%name/accel-qtest-microblazeel.so %_libdir/%name/accel-qtest-microblazeel.so
%_libdir/%name/accel-qtest-mips.so
%_libdir/%name/accel-qtest-mips64.so %_libdir/%name/accel-qtest-mips64.so
%_libdir/%name/accel-qtest-mips64el.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-i386.so
%_libdir/%name/accel-qtest-m68k.so
%_libdir/%name/accel-qtest-mips.so
%_libdir/%name/accel-qtest-mipsel.so %_libdir/%name/accel-qtest-mipsel.so
%_libdir/%name/accel-qtest-nios2.so
%_libdir/%name/accel-qtest-or1k.so %_libdir/%name/accel-qtest-or1k.so
%_libdir/%name/accel-qtest-ppc.so %_libdir/%name/accel-qtest-ppc.so
%_libdir/%name/accel-qtest-ppc64.so
%_libdir/%name/accel-qtest-riscv32.so %_libdir/%name/accel-qtest-riscv32.so
%_libdir/%name/accel-qtest-riscv64.so
%_libdir/%name/accel-qtest-rx.so %_libdir/%name/accel-qtest-rx.so
%_libdir/%name/accel-qtest-s390x.so
%_libdir/%name/accel-qtest-sh4.so %_libdir/%name/accel-qtest-sh4.so
%_libdir/%name/accel-qtest-sh4eb.so %_libdir/%name/accel-qtest-sh4eb.so
%_libdir/%name/accel-qtest-sparc.so %_libdir/%name/accel-qtest-sparc.so
%_libdir/%name/accel-qtest-sparc64.so
%_libdir/%name/accel-qtest-tricore.so %_libdir/%name/accel-qtest-tricore.so
%_libdir/%name/accel-qtest-x86_64.so
%_libdir/%name/accel-qtest-xtensa.so %_libdir/%name/accel-qtest-xtensa.so
%_libdir/%name/accel-qtest-xtensaeb.so %_libdir/%name/accel-qtest-xtensaeb.so
%if 0%{?with_rbd} %if 0%{with rbd}
%package block-rbd %package block-rbd
Summary: Rados Block Device (Ceph) support for QEMU Summary: Rados Block Device (Ceph) support for QEMU
Group: System/Emulators/PC Group: System/Emulators/PC
@@ -1959,7 +1918,7 @@ wider support than qboot, but still focuses on quick boot up.
%package seabios %package seabios
Summary: x86 Legacy BIOS for QEMU Summary: x86 Legacy BIOS for QEMU
Group: System/Emulators/PC Group: System/Emulators/PC
Version: 8.2.10%{sbver} Version: 10.0.3%{sbver}
Release: 0 Release: 0
BuildArch: noarch BuildArch: noarch
Conflicts: %name < 1.6.0 Conflicts: %name < 1.6.0
@@ -1980,7 +1939,7 @@ is the default and legacy BIOS for QEMU.
%package vgabios %package vgabios
Summary: VGA BIOSes for QEMU Summary: VGA BIOSes for QEMU
Group: System/Emulators/PC Group: System/Emulators/PC
Version: 8.2.10%{sbver} Version: 10.0.3%{sbver}
Release: 0 Release: 0
BuildArch: noarch BuildArch: noarch
Conflicts: %name < 1.6.0 Conflicts: %name < 1.6.0
@@ -2006,7 +1965,7 @@ video card. For use with QEMU.
%package ipxe %package ipxe
Summary: PXE ROMs for QEMU NICs Summary: PXE ROMs for QEMU NICs
Group: System/Emulators/PC Group: System/Emulators/PC
Version: 8.2.10 Version: 10.0.3
Release: 0 Release: 0
BuildArch: noarch BuildArch: noarch
Conflicts: %name < 1.6.0 Conflicts: %name < 1.6.0