Compare commits

...

56 Commits

Author SHA1 Message Date
David Abdurachmanov 71f792f01c
Fix files for riscv64
Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
2023-09-07 08:39:31 +03:00
David Abdurachmanov 05c11e868d
Merge remote-tracking branch 'up/main' into main-riscv64
Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
2023-09-07 08:37:45 +03:00
Daniel P. Berrangé e4bc25c09b SPDX license operands must be uppercase
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2023-08-25 14:27:36 +01:00
Cole Robinson f51053d48a spec: Make qemu-docs noarch
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2023-08-24 14:20:59 -04:00
Cole Robinson 98762f53f6 spec: texinfo is no longer a build dependency
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2023-08-24 10:03:16 -04:00
Cole Robinson 1ece14f33e Rebase to qemu 8.1.0 GA
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2023-08-23 10:22:56 -04:00
Davide Cavalca 28fd87d26a Adjust virtiofsd requires for el9 and older 2023-08-21 07:47:15 -07:00
Cole Robinson f36b5bbd6f Rebase to qemu-8.1.0-rc4
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2023-08-20 15:09:03 -04:00
Camilla Conte 9d0cc42919 New upstream release 8.0.3 2023-07-20 10:46:25 +01:00
Daniel P. Berrangé 66ae407ce2 Fix arabic keyboard layout name
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2023-07-06 14:40:01 +01:00
Camilla Conte 9ce3d1e3ca New upstream release 8.0.2 2023-07-06 13:37:41 +00:00
Cole Robinson 9bdf4d356a spec: Drop gvnc-devel dep on rhel
It's not available in centos stream 9 repos.

Fixes virt-preview builds for centos stream 9 chroots

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2023-07-05 14:11:41 -04:00
Sandro Bonazzola fe9446c8aa fix typo in pulseaudio subpkg description
Signed-off-by: Sandro Bonazzola <sbonazzo@redhat.com>
2023-06-09 08:05:54 +00:00
Sandro Bonazzola 44034e55c1 avoid double setup in %prep
in %prep both %setup and %autosetup were called resulting in doubling
the %prep execution time.

Signed-off-by: Sandro Bonazzola <sbonazzo@redhat.com>
2023-06-09 09:57:20 +02:00
Richard W.M. Jones bc72c799c7 Rebuild for libnfs soname bump 2023-06-01 08:30:49 +01:00
Dmitry V. Levin 2ce5ca73a8 99-qemu-guest-agent.rules: fix warning reported by udevadm verify
Fix the following warning reported by udevadm verify:

99-qemu-guest-agent.rules:2 A comma between tokens is expected.
99-qemu-guest-agent.rules: udev rules check failed
2023-05-19 08:00:00 +00:00
Daniel P. Berrangé f53d48ae75 Convert license to SPDX format
This new expression is a result of

 * Running 'licensecheck -r .' across the QEMU code base
 * Ignoring results not applicable to Fedora platform
 * Ignoring stuff only used in test cases
 * Adding missing logo license
 * Considering upstream default license for non-annotated files

Note license expression simplication is no longer to be performed in
Fedora, so the new expression is unavoidably much larger than before.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2023-04-27 12:09:17 +01:00
Daniel P. Berrangé ef665a7199 Bump release for new build to remove sgabios-bin requirement
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2023-04-27 08:56:20 +01:00
Daniel P. Berrangé 9061c9345e Fix sgabios binary RPM name & clean up related cruft
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2023-04-27 08:54:32 +01:00
Daniel P. Berrangé 589d3530fb Obsolete sgabios from qemu-common
QEMU deleted the sga device several releases ago, but sgabios has only
just been retired in F39. An obsoletes from qemu-common will ensure
that it gets erased when someone tries to upgrade from < F39.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2023-04-27 08:10:33 +01:00
Yaakov Selkowitz cef9ee51c5 Fix virgl conditionals
These changes are needed to fix the build when built without virgl
(as in RHEL/ELN).
2023-04-26 10:14:02 -04:00
Daniel P. Berrangé f2cb56a43c Obsolete qemu-virtiofsd on x86 arch
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2189368
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2023-04-25 12:16:41 +01:00
Daniel P. Berrangé 2b6515981a Remove duplicated obsoletes for RBD package
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2023-04-25 09:28:10 +01:00
Daniel P. Berrangé f3752caa84 Remove repeated configure options
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2023-04-25 09:23:09 +01:00
Eduardo Lima (Etrunko) 493beb6043 qemu-8.0.0-1
Update to latest QEMU upstream release, 8.0.0
2023-04-24 09:21:30 -03:00
Eduardo Lima (Etrunko) 27bca4038c qemu-7.2.1-1
- Update to QEMU upstream release 7.2.1
2023-04-19 12:42:15 -03:00
Eduardo Lima (Etrunko) d58272f92e Revert "Enable libvfio-user"
Build is still broken with 7.2.0.

https://gitlab.com/qemu-project/qemu/-/issues/1384

This reverts commit b5541eb631.
2023-04-19 12:41:51 -03:00
Eduardo Lima (Etrunko) b5541eb631 Enable libvfio-user 2023-04-19 11:13:44 -03:00
Daniel P. Berrangé bd635cd85e Re-enable tests on i686.
The broken GNUTLS ABI has been fixed

https://bugzilla.redhat.com/show_bug.cgi?id=2174758
https://src.fedoraproject.org/rpms/gnutls/pull-request/78
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2023-03-02 17:50:22 +00:00
Richard W.M. Jones 0ef68abd71 Disable the tests on i686 2023-02-27 19:55:35 +00:00
Richard W.M. Jones f48e9e218c Fix rtl8139-test
Patch sent upstream 2023-02-27.
2023-02-27 17:43:05 +00:00
Richard W.M. Jones d8ea841ee8 Fix build with glib2 2.75.3 (RHBZ#2173639) 2023-02-27 16:09:52 +00:00
Richard W.M. Jones fb1517ca3f Fix virtio-blk-pci detect-zeroes=unmap (RHBZ#2173357) 2023-02-27 11:47:44 +00:00
Cole Robinson 650c8272f6 Handle missing libblkio on fedora < 37
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2023-02-14 10:25:42 -05:00
Eduardo Lima (Etrunko) 8d94f851ec qemu-7.2.0-6 2023-02-01 08:54:00 -03:00
Stefan Hajnoczi 4eb8ef11c1 Enable libblkio
The libblkio package was added to Fedora. It is now possible to enable
the blkio block driver in QEMU.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2023-01-31 11:02:52 -05:00
Fedora Release Engineering 8f629c7e0f Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-20 18:52:09 +00:00
Richard W.M. Jones 3f79a68361 Rebuild for xen-4.17.0, second attempt 2023-01-11 22:16:19 +00:00
Daniel P. Berrangé fcf47181da Re-enable running of iotests
6 months and 2 QEMU release later, we want to test if they
are more reliable now. At least we'll get better diagnostic
of which test is hanging since the patch in

  https://www.mail-archive.com/qemu-devel@nongnu.org/msg887683.html

is included in this QEMU

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2023-01-10 13:05:30 -05:00
Daniel P. Berrangé c59732e734 Fix compat with linux > 6.1 headers
In file included from /usr/include/linux/btrfs.h:29,
                 from ../linux-user/syscall.c:163:
/usr/include/linux/fs.h:50:8: error: redefinition of 'struct file_clone_range'
   50 | struct file_clone_range {
      |        ^~~~~~~~~~~~~~~~
../linux-user/syscall.c:129:8: note: originally defined here
  129 | struct file_clone_range {
      |        ^~~~~~~~~~~~~~~~

was caused by btrfs.h gaining an include of linux/fs.h,
which clashed with QEMU's workaround for glibc compat
with linux/mount.h.  GLibc huas fixed their sys/mount.h
so we can drop the QEMU workaround, thus fixing the
btrfs.h problem.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2023-01-10 13:03:55 -05:00
Daniel P. Berrangé b47d99db35 Trim changelogs older than 2 years
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2023-01-09 10:43:01 +00:00
Richard W.M. Jones 6a1d35e912 Rebuild for xen-4.17.0 2023-01-03 08:24:36 +00:00
Eduardo Lima (Etrunko) 3ce4eaa6a2 qemu-7.2.0-1 2022-12-20 15:09:58 -03:00
Eduardo Lima (Etrunko) d09d3961a3 Rebuild for libbpf 1.0.0 2022-11-11 15:02:07 -03:00
Eduardo Lima (Etrunko) 7539983f1e Fix changelog entries 2022-09-27 11:49:10 -03:00
Davide Cavalca 92a87311fd Unconditionally enable capstone-devel 2022-09-08 17:00:39 +01:00
Davide Cavalca 795912844a Bump required meson version 2022-09-08 14:12:47 +01:00
Cole Robinson bd46f9571e Add .rpmlintrc to exclude some .spec lint
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-09-07 12:12:58 -04:00
Eduardo Lima (Etrunko) 64fe772650 Disable vfio-user for the moment
https://github.com/nutanix/libvfio-user/issues/707

Signed-off-by: Eduardo Lima (Etrunko) <etrunko@redhat.com>
2022-09-02 11:58:00 -03:00
Eduardo Lima (Etrunko) 055837f300 qemu-7.1.0-1
Signed-off-by: Eduardo Lima (Etrunko) <etrunko@redhat.com>
2022-09-02 11:07:59 -03:00
Cole Robinson 2874d70b6b Fix pcre-static dep on fedora < 37, for virt-preview
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-08-15 16:49:40 -04:00
Daniel P. Berrangé 34254733fe Fix compat with glibc 2.36
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2022-08-02 18:37:18 +01:00
Daniel P. Berrangé 0eeaeaae15 Get rid of patch numbering
RPM no longer requires use of numbered patches, a simple 'Patch' is
sufficient.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2022-08-02 17:43:44 +01:00
Daniel P. Berrangé 2abd5d20f1 Show config.log contents when configure fails
This will make it easier to debug future koji build failures

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2022-08-02 15:58:41 +01:00
Paolo Bonzini 98276b3e5f Replace pcre-static dependency with pcre2-static, to adjust for glib switching
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2022-07-26 07:48:27 +02:00
Fedora Release Engineering 22305b524e Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-22 23:54:02 +00:00
15 changed files with 313 additions and 868 deletions

6
.rpmlintrc Normal file
View File

@ -0,0 +1,6 @@
# Using _sourcedir makes the spec much more readable IMO.
# The Fedora wiki complaint is pretty obscure too.
addFilter(r'use-of-RPM_SOURCE_DIR')
# This is a virtual Provides: that should not contain any version info
addFilter(r'unversioned-explicit-provides vhostuser-backend\(fs\)')

View File

@ -1,30 +0,0 @@
From: Paolo Bonzini <pbonzini@redhat.com>
Date: Tue, 1 Feb 2022 20:09:37 +0100
Subject: [PATCH] target/i386: the sgx_epc_get_section stub is reachable
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Content-type: text/plain
The sgx_epc_get_section stub is reachable from cpu_x86_cpuid. It
should not assert, instead it should just return true just like
the "real" sgx_epc_get_section does when SGX is disabled.
Reported-by: Vladimír Beneš <vbenes@redhat.com>
Cc: qemu-stable@nongnu.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
hw/i386/sgx-stub.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/i386/sgx-stub.c b/hw/i386/sgx-stub.c
index 26833eb233..16b1dfd90b 100644
--- a/hw/i386/sgx-stub.c
+++ b/hw/i386/sgx-stub.c
@@ -34,5 +34,5 @@ void pc_machine_init_sgx_epc(PCMachineState *pcms)
bool sgx_epc_get_section(int section_nr, uint64_t *addr, uint64_t *size)
{
- g_assert_not_reached();
+ return true;
}

View File

@ -0,0 +1,58 @@
From e4a112c75a02a789e7710e805f66211426087d55 Mon Sep 17 00:00:00 2001
Message-ID: <e4a112c75a02a789e7710e805f66211426087d55.1692544104.git.crobinso@redhat.com>
From: Cole Robinson <crobinso@redhat.com>
Date: Sun, 20 Aug 2023 10:49:12 -0400
Subject: [PATCH] tests: Disable iotests, like RHEL does
Content-type: text/plain
Signed-off-by: Cole Robinson <crobinso@redhat.com>
---
tests/qemu-iotests/meson.build | 34 +++++++++++++++++-----------------
1 file changed, 17 insertions(+), 17 deletions(-)
diff --git a/tests/qemu-iotests/meson.build b/tests/qemu-iotests/meson.build
index 44761e1e4d..78c5836325 100644
--- a/tests/qemu-iotests/meson.build
+++ b/tests/qemu-iotests/meson.build
@@ -51,21 +51,21 @@ foreach format, speed: qemu_iotests_formats
check: true,
)
- foreach item: rc.stdout().strip().split()
- args = [qemu_iotests_check_cmd,
- '-tap', '-' + format, item,
- '--source-dir', meson.current_source_dir(),
- '--build-dir', meson.current_build_dir()]
- # Some individual tests take as long as 45 seconds
- # Bump the timeout to 3 minutes for some headroom
- # on slow machines to minimize spurious failures
- test('io-' + format + '-' + item,
- python,
- args: args,
- depends: qemu_iotests_binaries,
- env: qemu_iotests_env,
- protocol: 'tap',
- timeout: 180,
- suite: suites)
- endforeach
+# foreach item: rc.stdout().strip().split()
+# args = [qemu_iotests_check_cmd,
+# '-tap', '-' + format, item,
+# '--source-dir', meson.current_source_dir(),
+# '--build-dir', meson.current_build_dir()]
+# # Some individual tests take as long as 45 seconds
+# # Bump the timeout to 3 minutes for some headroom
+# # on slow machines to minimize spurious failures
+# test('io-' + format + '-' + item,
+# python,
+# args: args,
+# depends: qemu_iotests_binaries,
+# env: qemu_iotests_env,
+# protocol: 'tap',
+# timeout: 180,
+# suite: suites)
+# endforeach
endforeach
--
2.41.0

View File

@ -1,108 +0,0 @@
From: Stefan Hajnoczi <stefanha@redhat.com>
Date: Wed, 27 Apr 2022 15:35:36 +0100
Subject: [PATCH] virtio-scsi: fix ctrl and event handler functions in
dataplane mode
Content-type: text/plain
Commit f34e8d8b8d48d73f36a67b6d5e492ef9784b5012 ("virtio-scsi: prepare
virtio_scsi_handle_cmd for dataplane") prepared the virtio-scsi cmd
virtqueue handler function to be used in both the dataplane and
non-datpalane code paths.
It failed to convert the ctrl and event virtqueue handler functions,
which are not designed to be called from the dataplane code path but
will be since the ioeventfd is set up for those virtqueues when
dataplane starts.
Convert the ctrl and event virtqueue handler functions now so they
operate correctly when called from the dataplane code path. Avoid code
duplication by extracting this code into a helper function.
Fixes: f34e8d8b8d48d73f36a67b6d5e492ef9784b5012 ("virtio-scsi: prepare virtio_scsi_handle_cmd for dataplane")
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Message-id: 20220427143541.119567-2-stefanha@redhat.com
[Fixed s/by used/be used/ typo pointed out by Michael Tokarev
<mjt@tls.msk.ru>.
--Stefan]
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
(cherry picked from commit 2f743ef6366c2df4ef51ef3ae318138cdc0125ab)
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
hw/scsi/virtio-scsi.c | 42 +++++++++++++++++++++++++++---------------
1 file changed, 27 insertions(+), 15 deletions(-)
diff --git a/hw/scsi/virtio-scsi.c b/hw/scsi/virtio-scsi.c
index 34a968ecfb..417fbc71d6 100644
--- a/hw/scsi/virtio-scsi.c
+++ b/hw/scsi/virtio-scsi.c
@@ -472,16 +472,32 @@ bool virtio_scsi_handle_ctrl_vq(VirtIOSCSI *s, VirtQueue *vq)
return progress;
}
+/*
+ * If dataplane is configured but not yet started, do so now and return true on
+ * success.
+ *
+ * Dataplane is started by the core virtio code but virtqueue handler functions
+ * can also be invoked when a guest kicks before DRIVER_OK, so this helper
+ * function helps us deal with manually starting ioeventfd in that case.
+ */
+static bool virtio_scsi_defer_to_dataplane(VirtIOSCSI *s)
+{
+ if (!s->ctx || s->dataplane_started) {
+ return false;
+ }
+
+ virtio_device_start_ioeventfd(&s->parent_obj.parent_obj);
+ return !s->dataplane_fenced;
+}
+
static void virtio_scsi_handle_ctrl(VirtIODevice *vdev, VirtQueue *vq)
{
VirtIOSCSI *s = (VirtIOSCSI *)vdev;
- if (s->ctx) {
- virtio_device_start_ioeventfd(vdev);
- if (!s->dataplane_fenced) {
- return;
- }
+ if (virtio_scsi_defer_to_dataplane(s)) {
+ return;
}
+
virtio_scsi_acquire(s);
virtio_scsi_handle_ctrl_vq(s, vq);
virtio_scsi_release(s);
@@ -720,12 +736,10 @@ static void virtio_scsi_handle_cmd(VirtIODevice *vdev, VirtQueue *vq)
/* use non-QOM casts in the data path */
VirtIOSCSI *s = (VirtIOSCSI *)vdev;
- if (s->ctx && !s->dataplane_started) {
- virtio_device_start_ioeventfd(vdev);
- if (!s->dataplane_fenced) {
- return;
- }
+ if (virtio_scsi_defer_to_dataplane(s)) {
+ return;
}
+
virtio_scsi_acquire(s);
virtio_scsi_handle_cmd_vq(s, vq);
virtio_scsi_release(s);
@@ -855,12 +869,10 @@ static void virtio_scsi_handle_event(VirtIODevice *vdev, VirtQueue *vq)
{
VirtIOSCSI *s = VIRTIO_SCSI(vdev);
- if (s->ctx) {
- virtio_device_start_ioeventfd(vdev);
- if (!s->dataplane_fenced) {
- return;
- }
+ if (virtio_scsi_defer_to_dataplane(s)) {
+ return;
}
+
virtio_scsi_acquire(s);
virtio_scsi_handle_event_vq(s, vq);
virtio_scsi_release(s);

View File

@ -1,91 +0,0 @@
From: Stefan Hajnoczi <stefanha@redhat.com>
Date: Tue, 17 May 2022 09:27:45 +0100
Subject: [PATCH] virtio-scsi: don't waste CPU polling the event virtqueue
Content-type: text/plain
The virtio-scsi event virtqueue is not emptied by its handler function.
This is typical for rx virtqueues where the device uses buffers when
some event occurs (e.g. a packet is received, an error condition
happens, etc).
Polling non-empty virtqueues wastes CPU cycles. We are not waiting for
new buffers to become available, we are waiting for an event to occur,
so it's a misuse of CPU resources to poll for buffers.
Introduce the new virtio_queue_aio_attach_host_notifier_no_poll() API,
which is identical to virtio_queue_aio_attach_host_notifier() except
that it does not poll the virtqueue.
Before this patch the following command-line consumed 100% CPU in the
IOThread polling and calling virtio_scsi_handle_event():
$ qemu-system-x86_64 -M accel=kvm -m 1G -cpu host \
--object iothread,id=iothread0 \
--device virtio-scsi-pci,iothread=iothread0 \
--blockdev file,filename=test.img,aio=native,cache.direct=on,node-name=drive0 \
--device scsi-hd,drive=drive0
After this patch CPU is no longer wasted.
Reported-by: Nir Soffer <nsoffer@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Tested-by: Nir Soffer <nsoffer@redhat.com>
Message-id: 20220427143541.119567-3-stefanha@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
(cherry picked from commit 38738f7dbbda90fbc161757b7f4be35b52205552)
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
hw/scsi/virtio-scsi-dataplane.c | 2 +-
hw/virtio/virtio.c | 13 +++++++++++++
include/hw/virtio/virtio.h | 1 +
3 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/hw/scsi/virtio-scsi-dataplane.c b/hw/scsi/virtio-scsi-dataplane.c
index 29575cbaf6..8bb6e6acfc 100644
--- a/hw/scsi/virtio-scsi-dataplane.c
+++ b/hw/scsi/virtio-scsi-dataplane.c
@@ -138,7 +138,7 @@ int virtio_scsi_dataplane_start(VirtIODevice *vdev)
aio_context_acquire(s->ctx);
virtio_queue_aio_attach_host_notifier(vs->ctrl_vq, s->ctx);
- virtio_queue_aio_attach_host_notifier(vs->event_vq, s->ctx);
+ virtio_queue_aio_attach_host_notifier_no_poll(vs->event_vq, s->ctx);
for (i = 0; i < vs->conf.num_queues; i++) {
virtio_queue_aio_attach_host_notifier(vs->cmd_vqs[i], s->ctx);
diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c
index 9d637e043e..67a873f54a 100644
--- a/hw/virtio/virtio.c
+++ b/hw/virtio/virtio.c
@@ -3534,6 +3534,19 @@ void virtio_queue_aio_attach_host_notifier(VirtQueue *vq, AioContext *ctx)
virtio_queue_host_notifier_aio_poll_end);
}
+/*
+ * Same as virtio_queue_aio_attach_host_notifier() but without polling. Use
+ * this for rx virtqueues and similar cases where the virtqueue handler
+ * function does not pop all elements. When the virtqueue is left non-empty
+ * polling consumes CPU cycles and should not be used.
+ */
+void virtio_queue_aio_attach_host_notifier_no_poll(VirtQueue *vq, AioContext *ctx)
+{
+ aio_set_event_notifier(ctx, &vq->host_notifier, true,
+ virtio_queue_host_notifier_read,
+ NULL, NULL);
+}
+
void virtio_queue_aio_detach_host_notifier(VirtQueue *vq, AioContext *ctx)
{
aio_set_event_notifier(ctx, &vq->host_notifier, true, NULL, NULL, NULL);
diff --git a/include/hw/virtio/virtio.h b/include/hw/virtio/virtio.h
index b31c4507f5..b62a35fdca 100644
--- a/include/hw/virtio/virtio.h
+++ b/include/hw/virtio/virtio.h
@@ -317,6 +317,7 @@ EventNotifier *virtio_queue_get_host_notifier(VirtQueue *vq);
void virtio_queue_set_host_notifier_enabled(VirtQueue *vq, bool enabled);
void virtio_queue_host_notifier_read(EventNotifier *n);
void virtio_queue_aio_attach_host_notifier(VirtQueue *vq, AioContext *ctx);
+void virtio_queue_aio_attach_host_notifier_no_poll(VirtQueue *vq, AioContext *ctx);
void virtio_queue_aio_detach_host_notifier(VirtQueue *vq, AioContext *ctx);
VirtQueue *virtio_vector_first_queue(VirtIODevice *vdev, uint16_t vector);
VirtQueue *virtio_vector_next_queue(VirtQueue *vq);

View File

@ -1,51 +0,0 @@
From: Stefan Hajnoczi <stefanha@redhat.com>
Date: Tue, 17 May 2022 09:28:06 +0100
Subject: [PATCH] virtio-scsi: clean up virtio_scsi_handle_event_vq()
Content-type: text/plain
virtio_scsi_handle_event_vq() is only called from hw/scsi/virtio-scsi.c
now and its return value is no longer used. Remove the function
prototype from virtio-scsi.h and drop the return value.
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Message-id: 20220427143541.119567-4-stefanha@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
(cherry picked from commit 37ce2de95169dacab3fb53d11bd4509b9c2e3a4c)
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
hw/scsi/virtio-scsi.c | 4 +---
include/hw/virtio/virtio-scsi.h | 1 -
2 files changed, 1 insertion(+), 4 deletions(-)
diff --git a/hw/scsi/virtio-scsi.c b/hw/scsi/virtio-scsi.c
index 417fbc71d6..aa03a713d8 100644
--- a/hw/scsi/virtio-scsi.c
+++ b/hw/scsi/virtio-scsi.c
@@ -856,13 +856,11 @@ void virtio_scsi_push_event(VirtIOSCSI *s, SCSIDevice *dev,
virtio_scsi_complete_req(req);
}
-bool virtio_scsi_handle_event_vq(VirtIOSCSI *s, VirtQueue *vq)
+static void virtio_scsi_handle_event_vq(VirtIOSCSI *s, VirtQueue *vq)
{
if (s->events_dropped) {
virtio_scsi_push_event(s, NULL, VIRTIO_SCSI_T_NO_EVENT, 0);
- return true;
}
- return false;
}
static void virtio_scsi_handle_event(VirtIODevice *vdev, VirtQueue *vq)
diff --git a/include/hw/virtio/virtio-scsi.h b/include/hw/virtio/virtio-scsi.h
index 543681bc18..5957597825 100644
--- a/include/hw/virtio/virtio-scsi.h
+++ b/include/hw/virtio/virtio-scsi.h
@@ -151,7 +151,6 @@ void virtio_scsi_common_realize(DeviceState *dev,
Error **errp);
void virtio_scsi_common_unrealize(DeviceState *dev);
-bool virtio_scsi_handle_event_vq(VirtIOSCSI *s, VirtQueue *vq);
bool virtio_scsi_handle_cmd_vq(VirtIOSCSI *s, VirtQueue *vq);
bool virtio_scsi_handle_ctrl_vq(VirtIOSCSI *s, VirtQueue *vq);
void virtio_scsi_init_req(VirtIOSCSI *s, VirtQueue *vq, VirtIOSCSIReq *req);

View File

@ -1,54 +0,0 @@
From: Stefan Hajnoczi <stefanha@redhat.com>
Date: Tue, 17 May 2022 09:28:12 +0100
Subject: [PATCH] virtio-scsi: clean up virtio_scsi_handle_ctrl_vq()
Content-type: text/plain
virtio_scsi_handle_ctrl_vq() is only called from hw/scsi/virtio-scsi.c
now and its return value is no longer used. Remove the function
prototype from virtio-scsi.h and drop the return value.
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Message-id: 20220427143541.119567-5-stefanha@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
(cherry picked from commit 73b3b49f1880f236b4d0ffd7efb00280c05a5fab)
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
hw/scsi/virtio-scsi.c | 5 +----
include/hw/virtio/virtio-scsi.h | 1 -
2 files changed, 1 insertion(+), 5 deletions(-)
diff --git a/hw/scsi/virtio-scsi.c b/hw/scsi/virtio-scsi.c
index aa03a713d8..eefda16e4b 100644
--- a/hw/scsi/virtio-scsi.c
+++ b/hw/scsi/virtio-scsi.c
@@ -460,16 +460,13 @@ static void virtio_scsi_handle_ctrl_req(VirtIOSCSI *s, VirtIOSCSIReq *req)
}
}
-bool virtio_scsi_handle_ctrl_vq(VirtIOSCSI *s, VirtQueue *vq)
+static void virtio_scsi_handle_ctrl_vq(VirtIOSCSI *s, VirtQueue *vq)
{
VirtIOSCSIReq *req;
- bool progress = false;
while ((req = virtio_scsi_pop_req(s, vq))) {
- progress = true;
virtio_scsi_handle_ctrl_req(s, req);
}
- return progress;
}
/*
diff --git a/include/hw/virtio/virtio-scsi.h b/include/hw/virtio/virtio-scsi.h
index 5957597825..44dc3b81ec 100644
--- a/include/hw/virtio/virtio-scsi.h
+++ b/include/hw/virtio/virtio-scsi.h
@@ -152,7 +152,6 @@ void virtio_scsi_common_realize(DeviceState *dev,
void virtio_scsi_common_unrealize(DeviceState *dev);
bool virtio_scsi_handle_cmd_vq(VirtIOSCSI *s, VirtQueue *vq);
-bool virtio_scsi_handle_ctrl_vq(VirtIOSCSI *s, VirtQueue *vq);
void virtio_scsi_init_req(VirtIOSCSI *s, VirtQueue *vq, VirtIOSCSIReq *req);
void virtio_scsi_free_req(VirtIOSCSIReq *req);
void virtio_scsi_push_event(VirtIOSCSI *s, SCSIDevice *dev,

View File

@ -1,66 +0,0 @@
From: Stefan Hajnoczi <stefanha@redhat.com>
Date: Tue, 17 May 2022 09:28:19 +0100
Subject: [PATCH] virtio-scsi: clean up virtio_scsi_handle_cmd_vq()
Content-type: text/plain
virtio_scsi_handle_cmd_vq() is only called from hw/scsi/virtio-scsi.c
now and its return value is no longer used. Remove the function
prototype from virtio-scsi.h and drop the return value.
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Message-id: 20220427143541.119567-6-stefanha@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
(cherry picked from commit ad482b57ef841b2d4883c5079d20ba44ff5e4b3e)
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
hw/scsi/virtio-scsi.c | 5 +----
include/hw/virtio/virtio-scsi.h | 1 -
2 files changed, 1 insertion(+), 5 deletions(-)
diff --git a/hw/scsi/virtio-scsi.c b/hw/scsi/virtio-scsi.c
index eefda16e4b..12c6a21202 100644
--- a/hw/scsi/virtio-scsi.c
+++ b/hw/scsi/virtio-scsi.c
@@ -685,12 +685,11 @@ static void virtio_scsi_handle_cmd_req_submit(VirtIOSCSI *s, VirtIOSCSIReq *req)
scsi_req_unref(sreq);
}
-bool virtio_scsi_handle_cmd_vq(VirtIOSCSI *s, VirtQueue *vq)
+static void virtio_scsi_handle_cmd_vq(VirtIOSCSI *s, VirtQueue *vq)
{
VirtIOSCSIReq *req, *next;
int ret = 0;
bool suppress_notifications = virtio_queue_get_notification(vq);
- bool progress = false;
QTAILQ_HEAD(, VirtIOSCSIReq) reqs = QTAILQ_HEAD_INITIALIZER(reqs);
@@ -700,7 +699,6 @@ bool virtio_scsi_handle_cmd_vq(VirtIOSCSI *s, VirtQueue *vq)
}
while ((req = virtio_scsi_pop_req(s, vq))) {
- progress = true;
ret = virtio_scsi_handle_cmd_req_prepare(s, req);
if (!ret) {
QTAILQ_INSERT_TAIL(&reqs, req, next);
@@ -725,7 +723,6 @@ bool virtio_scsi_handle_cmd_vq(VirtIOSCSI *s, VirtQueue *vq)
QTAILQ_FOREACH_SAFE(req, &reqs, next, next) {
virtio_scsi_handle_cmd_req_submit(s, req);
}
- return progress;
}
static void virtio_scsi_handle_cmd(VirtIODevice *vdev, VirtQueue *vq)
diff --git a/include/hw/virtio/virtio-scsi.h b/include/hw/virtio/virtio-scsi.h
index 44dc3b81ec..2497530064 100644
--- a/include/hw/virtio/virtio-scsi.h
+++ b/include/hw/virtio/virtio-scsi.h
@@ -151,7 +151,6 @@ void virtio_scsi_common_realize(DeviceState *dev,
Error **errp);
void virtio_scsi_common_unrealize(DeviceState *dev);
-bool virtio_scsi_handle_cmd_vq(VirtIOSCSI *s, VirtQueue *vq);
void virtio_scsi_init_req(VirtIOSCSI *s, VirtQueue *vq, VirtIOSCSIReq *req);
void virtio_scsi_free_req(VirtIOSCSIReq *req);
void virtio_scsi_push_event(VirtIOSCSI *s, SCSIDevice *dev,

View File

@ -1,157 +0,0 @@
From: Stefan Hajnoczi <stefanha@redhat.com>
Date: Tue, 17 May 2022 09:28:26 +0100
Subject: [PATCH] virtio-scsi: move request-related items from .h to .c
Content-type: text/plain
There is no longer a need to expose the request and related APIs in
virtio-scsi.h since there are no callers outside virtio-scsi.c.
Note the block comment in VirtIOSCSIReq has been adjusted to meet the
coding style.
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Message-id: 20220427143541.119567-7-stefanha@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
(cherry picked from commit 3dc584abeef0e1277c2de8c1c1974cb49444eb0a)
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
hw/scsi/virtio-scsi.c | 45 ++++++++++++++++++++++++++++++---
include/hw/virtio/virtio-scsi.h | 40 -----------------------------
2 files changed, 41 insertions(+), 44 deletions(-)
diff --git a/hw/scsi/virtio-scsi.c b/hw/scsi/virtio-scsi.c
index 12c6a21202..db54d104be 100644
--- a/hw/scsi/virtio-scsi.c
+++ b/hw/scsi/virtio-scsi.c
@@ -29,6 +29,43 @@
#include "hw/virtio/virtio-access.h"
#include "trace.h"
+typedef struct VirtIOSCSIReq {
+ /*
+ * Note:
+ * - fields up to resp_iov are initialized by virtio_scsi_init_req;
+ * - fields starting at vring are zeroed by virtio_scsi_init_req.
+ */
+ VirtQueueElement elem;
+
+ VirtIOSCSI *dev;
+ VirtQueue *vq;
+ QEMUSGList qsgl;
+ QEMUIOVector resp_iov;
+
+ union {
+ /* Used for two-stage request submission */
+ QTAILQ_ENTRY(VirtIOSCSIReq) next;
+
+ /* Used for cancellation of request during TMFs */
+ int remaining;
+ };
+
+ SCSIRequest *sreq;
+ size_t resp_size;
+ enum SCSIXferMode mode;
+ union {
+ VirtIOSCSICmdResp cmd;
+ VirtIOSCSICtrlTMFResp tmf;
+ VirtIOSCSICtrlANResp an;
+ VirtIOSCSIEvent event;
+ } resp;
+ union {
+ VirtIOSCSICmdReq cmd;
+ VirtIOSCSICtrlTMFReq tmf;
+ VirtIOSCSICtrlANReq an;
+ } req;
+} VirtIOSCSIReq;
+
static inline int virtio_scsi_get_lun(uint8_t *lun)
{
return ((lun[2] << 8) | lun[3]) & 0x3FFF;
@@ -45,7 +82,7 @@ static inline SCSIDevice *virtio_scsi_device_get(VirtIOSCSI *s, uint8_t *lun)
return scsi_device_get(&s->bus, 0, lun[1], virtio_scsi_get_lun(lun));
}
-void virtio_scsi_init_req(VirtIOSCSI *s, VirtQueue *vq, VirtIOSCSIReq *req)
+static void virtio_scsi_init_req(VirtIOSCSI *s, VirtQueue *vq, VirtIOSCSIReq *req)
{
VirtIODevice *vdev = VIRTIO_DEVICE(s);
const size_t zero_skip =
@@ -58,7 +95,7 @@ void virtio_scsi_init_req(VirtIOSCSI *s, VirtQueue *vq, VirtIOSCSIReq *req)
memset((uint8_t *)req + zero_skip, 0, sizeof(*req) - zero_skip);
}
-void virtio_scsi_free_req(VirtIOSCSIReq *req)
+static void virtio_scsi_free_req(VirtIOSCSIReq *req)
{
qemu_iovec_destroy(&req->resp_iov);
qemu_sglist_destroy(&req->qsgl);
@@ -801,8 +838,8 @@ static void virtio_scsi_reset(VirtIODevice *vdev)
s->events_dropped = false;
}
-void virtio_scsi_push_event(VirtIOSCSI *s, SCSIDevice *dev,
- uint32_t event, uint32_t reason)
+static void virtio_scsi_push_event(VirtIOSCSI *s, SCSIDevice *dev,
+ uint32_t event, uint32_t reason)
{
VirtIOSCSICommon *vs = VIRTIO_SCSI_COMMON(s);
VirtIOSCSIReq *req;
diff --git a/include/hw/virtio/virtio-scsi.h b/include/hw/virtio/virtio-scsi.h
index 2497530064..abdda2cbd0 100644
--- a/include/hw/virtio/virtio-scsi.h
+++ b/include/hw/virtio/virtio-scsi.h
@@ -94,42 +94,6 @@ struct VirtIOSCSI {
uint32_t host_features;
};
-typedef struct VirtIOSCSIReq {
- /* Note:
- * - fields up to resp_iov are initialized by virtio_scsi_init_req;
- * - fields starting at vring are zeroed by virtio_scsi_init_req.
- * */
- VirtQueueElement elem;
-
- VirtIOSCSI *dev;
- VirtQueue *vq;
- QEMUSGList qsgl;
- QEMUIOVector resp_iov;
-
- union {
- /* Used for two-stage request submission */
- QTAILQ_ENTRY(VirtIOSCSIReq) next;
-
- /* Used for cancellation of request during TMFs */
- int remaining;
- };
-
- SCSIRequest *sreq;
- size_t resp_size;
- enum SCSIXferMode mode;
- union {
- VirtIOSCSICmdResp cmd;
- VirtIOSCSICtrlTMFResp tmf;
- VirtIOSCSICtrlANResp an;
- VirtIOSCSIEvent event;
- } resp;
- union {
- VirtIOSCSICmdReq cmd;
- VirtIOSCSICtrlTMFReq tmf;
- VirtIOSCSICtrlANReq an;
- } req;
-} VirtIOSCSIReq;
-
static inline void virtio_scsi_acquire(VirtIOSCSI *s)
{
if (s->ctx) {
@@ -151,10 +115,6 @@ void virtio_scsi_common_realize(DeviceState *dev,
Error **errp);
void virtio_scsi_common_unrealize(DeviceState *dev);
-void virtio_scsi_init_req(VirtIOSCSI *s, VirtQueue *vq, VirtIOSCSIReq *req);
-void virtio_scsi_free_req(VirtIOSCSIReq *req);
-void virtio_scsi_push_event(VirtIOSCSI *s, SCSIDevice *dev,
- uint32_t event, uint32_t reason);
void virtio_scsi_dataplane_setup(VirtIOSCSI *s, Error **errp);
int virtio_scsi_dataplane_start(VirtIODevice *s);

View File

@ -1,36 +0,0 @@
From: Cole Robinson <crobinso@redhat.com>
Date: Sat, 4 Jun 2022 20:28:58 -0400
Subject: [PATCH] Disable flakey dbus-display-test
Content-type: text/plain
Signed-off-by: Cole Robinson <crobinso@redhat.com>
---
tests/qtest/meson.build | 8 --------
1 file changed, 8 deletions(-)
diff --git a/tests/qtest/meson.build b/tests/qtest/meson.build
index d25f82bb5a..d085604727 100644
--- a/tests/qtest/meson.build
+++ b/tests/qtest/meson.build
@@ -94,10 +94,6 @@ qtests_i386 = \
'test-filter-redirector'
]
-if dbus_display
- qtests_i386 += ['dbus-display-test']
-endif
-
dbus_daemon = find_program('dbus-daemon', required: false)
if dbus_daemon.found() and config_host.has_key('GDBUS_CODEGEN')
# Temporarily disabled due to Patchew failures:
@@ -298,10 +294,6 @@ qtests = {
'vmgenid-test': files('boot-sector.c', 'acpi-utils.c'),
}
-if dbus_display
-qtests += {'dbus-display-test': [dbus_display1, gio]}
-endif
-
qtest_executables = {}
foreach dir : target_dirs
if not dir.endswith('-softmmu')

View File

@ -1,32 +0,0 @@
From: Cole Robinson <crobinso@redhat.com>
Date: Sat, 4 Jun 2022 20:29:46 -0400
Subject: [PATCH] Fix iotests with modules and qemu-system-s390x
Content-type: text/plain
Signed-off-by: Cole Robinson <crobinso@redhat.com>
---
tests/qemu-iotests/common.rc | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tests/qemu-iotests/common.rc b/tests/qemu-iotests/common.rc
index 227e0a5be9..97f8e0a15f 100644
--- a/tests/qemu-iotests/common.rc
+++ b/tests/qemu-iotests/common.rc
@@ -975,7 +975,7 @@ _require_large_file()
#
_require_devices()
{
- available=$($QEMU -M none -device help | \
+ available=$($QEMU -M none -device help 2> /dev/null | \
grep ^name | sed -e 's/^name "//' -e 's/".*$//')
for device
do
@@ -987,7 +987,7 @@ _require_devices()
_require_one_device_of()
{
- available=$($QEMU -M none -device help | \
+ available=$($QEMU -M none -device help 2> /dev/null | \
grep ^name | sed -e 's/^name "//' -e 's/".*$//')
for device
do

View File

@ -1,26 +0,0 @@
From: Cole Robinson <crobinso@redhat.com>
Date: Sun, 5 Jun 2022 12:48:29 -0400
Subject: [PATCH] Skip iotests entirely
Content-type: text/plain
Getting sporadic failures like described here:
https://www.mail-archive.com/qemu-devel@nongnu.org/msg887683.html
Signed-off-by: Cole Robinson <crobinso@redhat.com>
---
tests/check-block.sh | 2 ++
1 file changed, 2 insertions(+)
diff --git a/tests/check-block.sh b/tests/check-block.sh
index f59496396c..09cc735da4 100755
--- a/tests/check-block.sh
+++ b/tests/check-block.sh
@@ -50,6 +50,8 @@ fi
cd tests/qemu-iotests
+exit 0
+
# QEMU_CHECK_BLOCK_AUTO is used to disable some unstable sub-tests
export QEMU_CHECK_BLOCK_AUTO=1
export PYTHONUTF8=1

View File

@ -1,2 +1,2 @@
SUBSYSTEM=="virtio-ports", ATTR{name}=="org.qemu.guest_agent.0", \
TAG+="systemd" ENV{SYSTEMD_WANTS}="qemu-guest-agent.service"
TAG+="systemd", ENV{SYSTEMD_WANTS}="qemu-guest-agent.service"

462
qemu.spec
View File

@ -6,7 +6,7 @@
%global libfdt_version 1.6.0
%global libseccomp_version 2.4.0
%global libusbx_version 1.0.23
%global meson_version 0.58.2
%global meson_version 0.61.3
%global usbredir_version 0.7.1
%global ipxe_version 20200823-5.git4bd064de
@ -114,6 +114,12 @@
%global have_dbus_display 0
%endif
%global have_libblkio 0
%if 0%{?fedora} >= 37
%global have_libblkio 1
%endif
%global have_gvnc_devel %{defined fedora}
%global have_sdl_image %{defined fedora}
%global have_fdt 1
%global have_opengl 1
@ -144,15 +150,6 @@
%define have_block_nfs 1
%endif
%define have_capstone_devel 0
%if 0%{?fedora}
%ifnarch riscv64
# capstone-devel is only on Fedora. Use it if it's available, but
# if not, use the internal qemu submodule copy
%define have_capstone_devel 1
%endif
%endif
%define have_librdma 1
%ifarch %{arm}
%define have_librdma 0
@ -167,11 +164,16 @@
# https://bugzilla.redhat.com/show_bug.cgi?id=1952483
%global _lto_cflags %{nil}
%global firmwaredirs "%{_datadir}/qemu-firmware:%{_datadir}/ipxe/qemu:%{_datadir}/seavgabios:%{_datadir}/seabios:%{_datadir}/sgabios"
%global firmwaredirs "%{_datadir}/qemu-firmware:%{_datadir}/ipxe/qemu:%{_datadir}/seavgabios:%{_datadir}/seabios"
%global qemudocdir %{_docdir}/%{name}
%define evr %{epoch}:%{version}-%{release}
%if %{have_libblkio}
%define requires_block_blkio Requires: %{name}-block-blkio = %{evr}
%else
%define requires_block_blkio %{nil}
%endif
%define requires_block_curl Requires: %{name}-block-curl = %{evr}
%define requires_block_dmg Requires: %{name}-block-dmg = %{evr}
%if %{have_block_gluster}
@ -200,6 +202,7 @@
%define requires_audio_alsa Requires: %{name}-audio-alsa = %{evr}
%define requires_audio_oss Requires: %{name}-audio-oss = %{evr}
%define requires_audio_pa Requires: %{name}-audio-pa = %{evr}
%define requires_audio_pipewire Requires: %{name}-audio-pipewire = %{evr}
%define requires_audio_sdl Requires: %{name}-audio-sdl = %{evr}
%define requires_char_baum Requires: %{name}-char-baum = %{evr}
%define requires_device_usb_host Requires: %{name}-device-usb-host = %{evr}
@ -210,19 +213,31 @@
%define requires_ui_egl_headless Requires: %{name}-ui-egl-headless = %{evr}
%define requires_ui_opengl Requires: %{name}-ui-opengl = %{evr}
%define requires_device_display_virtio_gpu Requires: %{name}-device-display-virtio-gpu = %{evr}
%define requires_device_display_virtio_gpu_gl Requires: %{name}-device-display-virtio-gpu-gl = %{evr}
%define requires_device_display_virtio_gpu_pci Requires: %{name}-device-display-virtio-gpu-pci = %{evr}
%define requires_device_display_virtio_gpu_pci_gl Requires: %{name}-device-display-virtio-gpu-pci-gl = %{evr}
%define requires_device_display_virtio_gpu_ccw Requires: %{name}-device-display-virtio-gpu-ccw = %{evr}
%define requires_device_display_virtio_vga Requires: %{name}-device-display-virtio-vga = %{evr}
%define requires_device_display_virtio_vga_gl Requires: %{name}-device-display-virtio-vga-gl = %{evr}
%define requires_package_qemu_pr_helper Requires: qemu-pr-helper
%ifnarch %{ix86}
%if 0%{?fedora} || 0%{?rhel} > 9
%define requires_package_virtiofsd Requires: vhostuser-backend(fs)
%else
%define requires_package_virtiofsd Requires: virtiofsd
%endif
%define obsoletes_package_virtiofsd %{nil}
%else
%define requires_package_virtiofsd %{nil}
%define obsoletes_package_virtiofsd Obsoletes: %{name}-virtiofsd < %{evr}
%endif
%if %{have_virgl}
%define requires_device_display_vhost_user_gpu Requires: %{name}-device-display-vhost-user-gpu = %{evr}
%define requires_device_display_virtio_gpu_gl Requires: %{name}-device-display-virtio-gpu-gl = %{evr}
%define requires_device_display_virtio_gpu_pci_gl Requires: %{name}-device-display-virtio-gpu-pci-gl = %{evr}
%else
%define requires_device_display_vhost_user_gpu %{nil}
%define requires_device_display_virtio_gpu_gl %{nil}
%define requires_device_display_virtio_gpu_pci_gl %{nil}
%endif
%if %{have_jack}
@ -261,6 +276,7 @@
%endif
%global requires_all_modules \
%{requires_block_blkio} \
%{requires_block_curl} \
%{requires_block_dmg} \
%{requires_block_gluster} \
@ -272,6 +288,7 @@
%{requires_audio_dbus} \
%{requires_audio_oss} \
%{requires_audio_pa} \
%{requires_audio_pipewire} \
%{requires_audio_sdl} \
%{requires_audio_jack} \
%{requires_audio_spice} \
@ -303,13 +320,14 @@
%global obsoletes_some_modules \
%{obsoletes_block_gluster} \
%{obsoletes_block_rbd} \
%{obsoletes_block_rbd} \
%{obsoletes_package_virtiofsd} \
Obsoletes: %{name}-system-lm32 <= %{epoch}:%{version}-%{release} \
Obsoletes: %{name}-system-lm32-core <= %{epoch}:%{version}-%{release} \
Obsoletes: %{name}-system-moxie <= %{epoch}:%{version}-%{release} \
Obsoletes: %{name}-system-moxie-core <= %{epoch}:%{version}-%{release} \
Obsoletes: %{name}-system-unicore32 <= %{epoch}:%{version}-%{release} \
Obsoletes: %{name}-system-unicore32-core <= %{epoch}:%{version}-%{release}
Obsoletes: %{name}-system-unicore32-core <= %{epoch}:%{version}-%{release} \
Obsoletes: sgabios-bin <= 1:0.20180715git-10.fc38
# Release candidate version tracking
# global rcver rc4
@ -319,14 +337,14 @@ Obsoletes: %{name}-system-unicore32-core <= %{epoch}:%{version}-%{release}
%endif
# To prevent rpmdev-bumpspec breakage
%global baserelease 6
%global baserelease 2
Summary: QEMU is a FAST! processor emulator
Name: qemu
Version: 7.0.0
Release: %{baserelease}%{?rcrel}.3.riscv64%{?dist}
Version: 8.1.0
Release: %{baserelease}%{?rcrel}.0.riscv64%{?dist}
Epoch: 2
License: GPLv2 and BSD and MIT and CC-BY
License: Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND FSFAP AND GPL-1.0-or-later AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-2.0-or-later with GCC-exception-2.0 exception AND LGPL-2.0-only AND LGPL-2.0-or-later AND LGPL-2.1-only AND LGPL-2.1-or-later AND MIT AND public-domain AND CC-BY-3.0
URL: http://www.qemu.org/
Source0: http://wiki.qemu-project.org/download/%{name}-%{version}%{?rcstr}.tar.xz
@ -342,20 +360,11 @@ Source30: kvm-s390x.conf
Source31: kvm-x86.conf
Source36: README.tests
# Fix SGX assert
Patch0001: 0001-target-i386-the-sgx_epc_get_section-stub-is-reachabl.patch
# Fix virtio-scsi hang (bz #2079347)
Patch0002: 0002-virtio-scsi-fix-ctrl-and-event-handler-functions-in-.patch
Patch0003: 0003-virtio-scsi-don-t-waste-CPU-polling-the-event-virtqu.patch
Patch0004: 0004-virtio-scsi-clean-up-virtio_scsi_handle_event_vq.patch
Patch0005: 0005-virtio-scsi-clean-up-virtio_scsi_handle_ctrl_vq.patch
Patch0006: 0006-virtio-scsi-clean-up-virtio_scsi_handle_cmd_vq.patch
Patch0007: 0007-virtio-scsi-move-request-related-items-from-.h-to-.c.patch
Patch0008: 0008-Disable-flakey-dbus-display-test.patch
Patch0009: 0009-Fix-iotests-with-modules-and-qemu-system-s390x.patch
Patch0010: 0010-Skip-iotests-entirely.patch
Patch0001: 0001-tests-Disable-iotests-like-RHEL-does.patch
BuildRequires: meson >= %{meson_version}
BuildRequires: bison
BuildRequires: flex
BuildRequires: zlib-devel
BuildRequires: glib2-devel
BuildRequires: gnutls-devel
@ -369,7 +378,6 @@ BuildRequires: libusbx-devel >= %{libusbx_version}
%if %{have_usbredir}
BuildRequires: usbredir-devel >= %{usbredir_version}
%endif
BuildRequires: texinfo
BuildRequires: python3-sphinx
BuildRequires: python3-sphinx_rtd_theme
BuildRequires: libseccomp-devel >= %{libseccomp_version}
@ -416,10 +424,9 @@ BuildRequires: pkgconfig(gbm)
%endif
BuildRequires: perl-Test-Harness
BuildRequires: libslirp-devel
BuildRequires: libbpf-devel
%ifarch riscv64
# if -pthread is used GCC SPEC will add --as-needed -latomic --no-as-needed for linker
BuildRequires: libatomic-static
BuildRequires: libbpf-devel >= 1.0.0
%if %{have_libblkio}
BuildRequires: libblkio-devel
%endif
@ -478,10 +485,8 @@ BuildRequires: libcacard-devel
# virgl 3d support
BuildRequires: virglrenderer-devel
%endif
%if %{have_capstone_devel}
# preferred disassembler for TCG
BuildRequires: capstone-devel
%endif
# qemu-ga
BuildRequires: libudev-devel
# qauth infrastructure
@ -506,10 +511,21 @@ BuildRequires: fuse3-devel
%if %{have_sdl_image}
BuildRequires: SDL2_image-devel
%endif
%if %{have_gvnc_devel}
# Used by vnc-display-test
BuildRequires: pkgconfig(gvnc-1.0)
%endif
BuildRequires: pipewire-devel
%if %{user_static}
BuildRequires: glibc-static pcre-static glib2-static zlib-static
BuildRequires: glibc-static glib2-static zlib-static
%if 0%{?fedora} >= 37
BuildRequires: pcre2-static
%else
BuildRequires: pcre-static
%endif
%endif
# Requires for the Fedora 'qemu' metapackage
Requires: %{name}-user = %{epoch}:%{version}-%{release}
@ -518,6 +534,7 @@ Requires: %{name}-system-alpha = %{epoch}:%{version}-%{release}
Requires: %{name}-system-arm = %{epoch}:%{version}-%{release}
Requires: %{name}-system-avr = %{epoch}:%{version}-%{release}
Requires: %{name}-system-cris = %{epoch}:%{version}-%{release}
Requires: %{name}-system-loongarch64 = %{epoch}:%{version}-%{release}
Requires: %{name}-system-m68k = %{epoch}:%{version}-%{release}
Requires: %{name}-system-microblaze = %{epoch}:%{version}-%{release}
Requires: %{name}-system-mips = %{epoch}:%{version}-%{release}
@ -561,6 +578,7 @@ This package provides documentation and auxiliary programs used with %{name}.
%package docs
Summary: %{name} documentation
BuildArch: noarch
%description docs
%{name}-docs provides documentation files regarding %{name}.
@ -599,15 +617,6 @@ This package provides the qemu-pr-helper utility that is required for certain
SCSI features.
%package -n qemu-virtiofsd
Summary: QEMU virtio-fs shared file system daemon
Provides: vhostuser-backend(fs)
%description -n qemu-virtiofsd
This package provides virtiofsd daemon. This program is a vhost-user backend
that implements the virtio-fs device that is used for sharing a host directory
tree with a guest.
%package tests
Summary: tests for the %{name} package
Requires: %{name} = %{epoch}:%{version}-%{release}
@ -622,6 +631,18 @@ Install this package if you want access to the avocado_qemu
tests, or qemu-iotests.
%if %{have_libblkio}
%package block-blkio
Summary: QEMU blkio block driver
Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release}
%description block-blkio
This package provides the additional blkio block driver for QEMU.
Install this package if you want to access disks over vhost-user-blk, vdpa-blk,
and other transports using the libblkio library.
%endif
%package block-curl
Summary: QEMU CURL block driver
Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release}
@ -732,7 +753,13 @@ This package provides the additional OSS audio driver for QEMU.
Summary: QEMU PulseAudio audio driver
Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release}
%description audio-pa
This package provides the additional PulseAudi audio driver for QEMU.
This package provides the additional PulseAudio audio driver for QEMU.
%package audio-pipewire
Summary: QEMU Pipewire audio driver
Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release}
%description audio-pipewire
This package provides the additional Pipewire audio driver for QEMU.
%package audio-sdl
Summary: QEMU SDL audio driver
@ -798,11 +825,13 @@ Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release}
%description device-display-virtio-gpu
This package provides the virtio-gpu display device for QEMU.
%if %{have_virgl}
%package device-display-virtio-gpu-gl
Summary: QEMU virtio-gpu-gl display device
Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release}
%description device-display-virtio-gpu-gl
This package provides the virtio-gpu-gl display device for QEMU.
%endif
%package device-display-virtio-gpu-pci
Summary: QEMU virtio-gpu-pci display device
@ -810,11 +839,13 @@ Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release}
%description device-display-virtio-gpu-pci
This package provides the virtio-gpu-pci display device for QEMU.
%if %{have_virgl}
%package device-display-virtio-gpu-pci-gl
Summary: QEMU virtio-gpu-pci-gl display device
Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release}
%description device-display-virtio-gpu-pci-gl
This package provides the virtio-gpu-pci-gl display device for QEMU.
%endif
%package device-display-virtio-gpu-ccw
Summary: QEMU virtio-gpu-ccw display device
@ -958,6 +989,7 @@ Requires: qemu-user-static-arm
Requires: qemu-user-static-cris
Requires: qemu-user-static-hexagon
Requires: qemu-user-static-hppa
Requires: qemu-user-static-loongarch64
Requires: qemu-user-static-m68k
Requires: qemu-user-static-microblaze
Requires: qemu-user-static-mips
@ -1011,6 +1043,12 @@ Summary: QEMU user mode emulation of hppa qemu targets static build
This package provides the hppa user mode emulation of qemu targets built as
static binaries
%package user-static-loongarch64
Summary: QEMU user mode emulation of loongarch64 qemu targets static build
%description user-static-loongarch64
This package provides the loongarch64 user mode emulation of qemu targets built as
static binaries
%package user-static-m68k
Summary: QEMU user mode emulation of m68k qemu targets static build
%description user-static-m68k
@ -1175,6 +1213,20 @@ Requires: %{name}-common = %{epoch}:%{version}-%{release}
This package provides the QEMU system emulator for HPPA.
%package system-loongarch64
Summary: QEMU system emulator for LoongArch (LA64)
Requires: %{name}-system-loongarch64-core = %{epoch}:%{version}-%{release}
%{requires_all_modules}
%description system-loongarch64
This package provides the QEMU system emulator for Loongson boards.
%package system-loongarch64-core
Summary: QEMU system emulator for LoongArch (LA64)
Requires: %{name}-common = %{epoch}:%{version}-%{release}
%description system-loongarch64-core
This package provides the QEMU system emulator for Loongson boards.
%package system-m68k
Summary: QEMU system emulator for ColdFire (m68k)
Requires: %{name}-system-m68k-core = %{epoch}:%{version}-%{release}
@ -1360,7 +1412,6 @@ platform.
Summary: QEMU system emulator for x86
Requires: %{name}-common = %{epoch}:%{version}-%{release}
Requires: seabios-bin
Requires: sgabios-bin
Requires: seavgabios-bin
%if %{have_edk2}
Requires: edk2-ovmf
@ -1385,11 +1436,8 @@ Requires: %{name}-common = %{epoch}:%{version}-%{release}
This package provides the QEMU system emulator for Xtensa boards.
%prep
%setup -q -n qemu-%{version}%{?rcstr}
%autosetup -S git_am
%autosetup -n qemu-%{version}%{?rcstr} -S git_am
%global qemu_kvm_build qemu_kvm_build
mkdir -p %{qemu_kvm_build}
@ -1406,6 +1454,8 @@ mkdir -p %{static_builddir}
--disable-auth-pam \\\
--disable-avx2 \\\
--disable-avx512f \\\
--disable-avx512bw \\\
--disable-blkio \\\
--disable-block-drv-whitelist-in-tools \\\
--disable-bochs \\\
--disable-bpf \\\
@ -1418,17 +1468,20 @@ mkdir -p %{static_builddir}
--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-tcg \\\
--disable-dmg \\\
--disable-docs \\\
--disable-download \\\
--disable-dsound \\\
--disable-fdt \\\
--disable-fuse \\\
@ -1439,6 +1492,7 @@ mkdir -p %{static_builddir}
--disable-glusterfs \\\
--disable-gnutls \\\
--disable-gtk \\\
--disable-gtk-clipboard \\\
--disable-guest-agent \\\
--disable-guest-agent-msi \\\
--disable-hax \\\
@ -1448,6 +1502,7 @@ mkdir -p %{static_builddir}
--disable-kvm \\\
--disable-l2tpv3 \\\
--disable-libdaxctl \\\
--disable-libdw \\\
--disable-libiscsi \\\
--disable-libnfs \\\
--disable-libpmem \\\
@ -1476,6 +1531,7 @@ mkdir -p %{static_builddir}
--disable-pa \\\
--disable-parallels \\\
--disable-pie \\\
--disable-pipewire \\\
--disable-pvrdma \\\
--disable-qcow1 \\\
--disable-qed \\\
@ -1494,6 +1550,7 @@ mkdir -p %{static_builddir}
--disable-slirp-smbd \\\
--disable-smartcard \\\
--disable-snappy \\\
--disable-sndio \\\
--disable-sparse \\\
--disable-spice \\\
--disable-spice-protocol \\\
@ -1502,25 +1559,26 @@ mkdir -p %{static_builddir}
--disable-tcg \\\
--disable-tools \\\
--disable-tpm \\\
--disable-tsan \\\
--disable-u2f \\\
--disable-usb-redir \\\
--disable-user \\\
--disable-vpc \\\
--disable-vde \\\
--disable-vdi \\\
--disable-vfio-user-server \\\
--disable-vhdx \\\
--disable-vhost-crypto \\\
--disable-vhost-kernel \\\
--disable-vhost-net \\\
--disable-vhost-scsi \\\
--disable-vhost-user \\\
--disable-vhost-user-blk-server \\\
--disable-vhost-vdpa \\\
--disable-vhost-vsock \\\
--disable-virglrenderer \\\
--disable-virtfs \\\
--disable-virtiofsd \\\
--disable-vnc \\\
--disable-vnc-jpeg \\\
--disable-vnc-png \\\
--disable-png \\\
--disable-vnc-sasl \\\
--disable-vte \\\
--disable-vvfat \\\
@ -1530,9 +1588,9 @@ mkdir -p %{static_builddir}
--disable-xen-pci-passthrough \\\
--disable-xkbcommon \\\
--disable-zstd \\\
--with-git-submodules=ignore \\\
--without-default-devices
run_configure() {
../configure \
--cc=%{__cc} \
@ -1554,13 +1612,12 @@ run_configure() {
--with-pkgversion="%{name}-%{version}-%{release}" \
--with-suffix="%{name}" \
--firmwarepath="%firmwaredirs" \
--meson="%{__meson}" \
--enable-trace-backends=dtrace \
--with-coroutine=ucontext \
--with-git=git \
--tls-priority=@QEMU,SYSTEM \
%{disable_everything} \
"$@"
"$@" \
|| ( cat config.log ; exit 1 )
echo "config-host.mak contents:"
echo "==="
@ -1584,10 +1641,15 @@ run_configure \
--enable-attr \
%ifarch %{ix86} x86_64
--enable-avx2 \
--enable-avx512f \
--enable-avx512bw \
%endif
%if %{have_libblkio}
--enable-blkio \
%endif
--enable-bpf \
--enable-cap-ng \
--enable-capstone=auto \
--enable-capstone \
--enable-coroutine-pool \
--enable-curl \
%if %{have_dbus_display}
@ -1631,6 +1693,7 @@ run_configure \
--enable-oss \
--enable-pa \
--enable-pie \
--enable-pipewire \
%if %{have_block_rbd}
--enable-rbd \
%endif
@ -1639,7 +1702,7 @@ run_configure \
%endif
--enable-seccomp \
--enable-selinux \
--enable-slirp=system \
--enable-slirp \
--enable-slirp-smbd \
--enable-snappy \
--enable-system \
@ -1649,15 +1712,13 @@ run_configure \
%if %{have_usbredir}
--enable-usb-redir \
%endif
--enable-virtiofsd \
--enable-vhost-kernel \
--enable-vhost-net \
--enable-vhost-user \
--enable-vhost-user-blk-server \
--enable-vhost-vdpa \
--enable-vhost-vsock \
--enable-vnc \
--enable-vnc-png \
--enable-png \
--enable-vnc-sasl \
%if %{enable_werror}
--enable-werror \
@ -1665,7 +1726,7 @@ run_configure \
--enable-xkbcommon \
\
\
--audio-drv-list=pa,sdl,alsa,%{?jack_drv}oss \
--audio-drv-list=pipewire,pa,sdl,alsa,%{?jack_drv}oss \
--target-list-exclude=moxie-softmmu \
--with-default-devices \
--enable-auth-pam \
@ -1682,17 +1743,16 @@ run_configure \
%endif
--enable-gtk \
--enable-libdaxctl \
--enable-libdw \
%if %{have_block_nfs}
--enable-libnfs \
%endif
--enable-libudev \
%if %{have_liburing}
--enable-linux-io-uring \
%endif
--enable-linux-user \
--enable-live-block-migration \
--enable-multiprocess \
--enable-vnc-jpeg \
--enable-parallels \
%if %{have_librdma}
--enable-pvrdma \
@ -1712,23 +1772,25 @@ run_configure \
--enable-spice \
--enable-spice-protocol \
%endif
--enable-usb-redir \
--enable-vdi \
--enable-vhost-crypto \
--enable-vhost-scsi \
%if %{have_virgl}
--enable-virglrenderer \
%endif
--enable-vhdx \
--enable-virtfs \
--enable-virtfs-proxy-helper \
--enable-vpc \
--enable-vnc-jpeg \
--enable-vte \
--enable-vvfat \
%if %{have_xen}
--enable-xen \
%ifarch x86_64
--enable-xen-pci-passthrough \
%endif
--enable-zstd \
%endif
--enable-zstd
%if %{tools_only}
%make_build qemu-img
@ -1825,7 +1887,7 @@ install -D -p -m 0644 %{modprobe_kvm_conf} %{buildroot}%{_sysconfdir}/modprobe.d
%endif
# Copy some static data into place
install -D -p -m 0644 -t %{buildroot}%{qemudocdir} README.rst COPYING COPYING.LIB LICENSE docs/interop/qmp-spec.txt
install -D -p -m 0644 -t %{buildroot}%{qemudocdir} README.rst COPYING COPYING.LIB LICENSE docs/interop/qmp-spec.rst
install -D -p -m 0644 qemu.sasl %{buildroot}%{_sysconfdir}/sasl2/%{name}.conf
install -m 0644 scripts/dump-guest-memory.py %{buildroot}%{_datadir}/%{name}
@ -1840,6 +1902,8 @@ install -m 0644 -t %{buildroot}%{_datadir}/%{name}/tracetool/backend scripts/tra
mkdir -p %{buildroot}%{_datadir}/%{name}/tracetool/format
install -m 0644 -t %{buildroot}%{_datadir}/%{name}/tracetool/format scripts/tracetool/format/*.py
# Ensure vhost-user directory is present even if built without virgl
mkdir -p %{buildroot}%{_datadir}/%{name}/vhost-user
# Create new directories and put them all under tests-src
mkdir -p %{buildroot}%{testsdir}/python
@ -1892,8 +1956,6 @@ rm -rf %{buildroot}%{_datadir}/%{name}/efi*rom
rm -rf %{buildroot}%{_datadir}/%{name}/vgabios*bin
# Provided by package seabios
rm -rf %{buildroot}%{_datadir}/%{name}/bios*.bin
# Provided by package sgabios
rm -rf %{buildroot}%{_datadir}/%{name}/sgabios.bin
# Provided by edk2
rm -rf %{buildroot}%{_datadir}/%{name}/edk2*
rm -rf %{buildroot}%{_datadir}/%{name}/firmware
@ -1969,8 +2031,7 @@ rm -rf %{static_buildroot}
pushd %{qemu_kvm_build}
echo "Testing %{name}-build"
# 2022-06: ppc64le random qtest segfaults with no discernable pattern
# 2022-07: some arches (2) hang in endless loops in qtests on riscv64
%ifnarch %{power64} riscv64
%ifnarch %{power64}
%make_build check
%endif
@ -2039,6 +2100,11 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \
%postun user-static-hppa
/bin/systemctl --system try-restart systemd-binfmt.service &>/dev/null || :
%post user-static-loongarch64
/bin/systemctl --system try-restart systemd-binfmt.service &>/dev/null || :
%postun user-static-loongarch64
/bin/systemctl --system try-restart systemd-binfmt.service &>/dev/null || :
%post user-static-m68k
/bin/systemctl --system try-restart systemd-binfmt.service &>/dev/null || :
%postun user-static-m68k
@ -2140,12 +2206,6 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \
%{_mandir}/man8/qemu-pr-helper.8*
%files -n qemu-virtiofsd
%{_mandir}/man1/virtiofsd.1*
%{_libexecdir}/virtiofsd
%{_datadir}/qemu/vhost-user/50-qemu-virtiofsd.json
%files tools
%{_bindir}/qemu-keymap
%{_bindir}/qemu-edid
@ -2198,6 +2258,10 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \
%{testsdir}
%{_libdir}/%{name}/accel-qtest-*.so
%if %{have_libblkio}
%files block-blkio
%{_libdir}/%{name}/block-blkio.so
%endif
%files block-curl
%{_libdir}/%{name}/block-curl.so
%files block-iscsi
@ -2236,6 +2300,8 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \
%{_libdir}/%{name}/audio-oss.so
%files audio-pa
%{_libdir}/%{name}/audio-pa.so
%files audio-pipewire
%{_libdir}/%{name}/audio-pipewire.so
%files audio-sdl
%{_libdir}/%{name}/audio-sdl.so
%if %{have_jack}
@ -2263,12 +2329,16 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \
%files device-display-virtio-gpu
%{_libdir}/%{name}/hw-display-virtio-gpu.so
%if %{have_virgl}
%files device-display-virtio-gpu-gl
%{_libdir}/%{name}/hw-display-virtio-gpu-gl.so
%endif
%files device-display-virtio-gpu-pci
%{_libdir}/%{name}/hw-display-virtio-gpu-pci.so
%if %{have_virgl}
%files device-display-virtio-gpu-pci-gl
%{_libdir}/%{name}/hw-display-virtio-gpu-pci-gl.so
%endif
%files device-display-virtio-gpu-ccw
%{_libdir}/%{name}/hw-s390x-virtio-gpu-ccw.so
%files device-display-virtio-vga
@ -2325,6 +2395,7 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \
%{_bindir}/qemu-cris
%{_bindir}/qemu-hppa
%{_bindir}/qemu-hexagon
%{_bindir}/qemu-loongarch64
%{_bindir}/qemu-m68k
%{_bindir}/qemu-microblaze
%{_bindir}/qemu-microblazeel
@ -2358,6 +2429,7 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \
%{_datadir}/systemtap/tapset/qemu-cris*.stp
%{_datadir}/systemtap/tapset/qemu-hppa*.stp
%{_datadir}/systemtap/tapset/qemu-hexagon*.stp
%{_datadir}/systemtap/tapset/qemu-loongarch64*.stp
%{_datadir}/systemtap/tapset/qemu-m68k*.stp
%{_datadir}/systemtap/tapset/qemu-microblaze*.stp
%{_datadir}/systemtap/tapset/qemu-mips*.stp
@ -2416,6 +2488,11 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \
%{_datadir}/systemtap/tapset/qemu-hppa-static.stp
%{_exec_prefix}/lib/binfmt.d/qemu-hppa-static.conf
%files user-static-loongarch64
%{_bindir}/qemu-loongarch64-static
%{_datadir}/systemtap/tapset/qemu-loongarch64-static.stp
%{_exec_prefix}/lib/binfmt.d/qemu-loongarch64-static.conf
%files user-static-m68k
%{_bindir}/qemu-m68k-static
%{_datadir}/systemtap/tapset/qemu-m68k-static.stp
@ -2574,6 +2651,13 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \
%{_datadir}/%{name}/hppa-firmware.img
%files system-loongarch64
%files system-loongarch64-core
%{_bindir}/qemu-system-loongarch64
%{_datadir}/systemtap/tapset/qemu-system-loongarch64*.stp
%{_mandir}/man1/qemu-system-loongarch64.1*
%files system-m68k
%files system-m68k-core
%{_bindir}/qemu-system-m68k
@ -2723,17 +2807,87 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \
%changelog
* Tue Jul 19 2022 David Abdurachmanov <davidlt@rivosinc.com> - 7.0.0-6.3.riscv64
- Disable tests on riscv64 in the correct place (%%check section)
* Thu Sep 07 2023 David Abdurachmanov <davidlt@rivosinc.com> - 8.1.0-2.0.riscv64
- Fix riscv64 files
* Tue Jul 19 2022 David Abdurachmanov <davidlt@rivosinc.com> - 7.0.0-6.2.riscv64
- Do not package qemu-riscv32-static.conf (doesn't exist on riscv64)
* Thu Aug 24 2023 Cole Robinson <crobinso@redhat.com> - 8.1.0-2
- Make qemu-docs noarch
* Mon Jul 18 2022 David Abdurachmanov <davidlt@rivosinc.com> - 7.0.0-6.1.riscv64
- Disable tests (some hand with futex endless loop)
* Wed Aug 23 2023 Cole Robinson <crobinso@redhat.com> - 8.1.0-1
- Rebase to qemu 8.1.0 GA
* Wed Jul 13 2022 David Abdurachmanov <davidlt@rivosinc.com> - 7.0.0-6.0.riscv64
- Disable capstone on riscv64 and add BR libatomic
* Mon Aug 21 2023 Davide Cavalca <dcavalca@fedoraproject.org> - 8.1.0-0.2-rc4
- Adjust virtiofsd requires for el9 and older
* Sun Aug 20 2023 Cole Robinson <crobinso@redhat.com> - 8.1.0-0.1-rc4
- Rebase to qemu 8.1.0-rc4
* Thu Jul 20 2023 Camilla Conte <cconte@redhat.com> - 2:8.0.3-1
- New upstream release 8.0.3
* Mon Jul 03 2023 Camilla Conte <cconte@redhat.com> - 2:8.0.2-1
- New upstream release 8.0.2
- Fix arabic keyboard layout name
* Thu Jun 01 2023 Richard W.M. Jones <rjones@redhat.com> - 2:8.0.0-4
- Rebuild for libnfs soname bump
* Thu Apr 27 2023 Daniel P. Berrangé <berrange@redhat.com> - 8.0.0-3
- Drop sgabios-bin requirement and related baggage
* Tue Apr 25 2023 Daniel P. Berrangé <berrange@redhat.com> - 8.0.0-2
- Obsolete qemu-virtiofsd on i686 (rhbz #2189368)
* Thu Apr 20 2023 Eduardo Lima (Etrunko) <etrunko@redhat.com> - 8.0.0-1
- Rebase to qemu 8.0.0
* Wed Apr 19 2023 Eduardo Lima (Etrunko) <etrunko@redhat.com> - 7.2.1-1
- Rebase to qemu 7.2.1
* Mon Feb 27 2023 Richard W.M. Jones <rjones@redhat.com> - 7.2.0-7
- Fix virtio-blk-pci detect-zeroes=unmap (RHBZ#2173357)
- Fix build with glib2 2.75.3 (RHBZ#2173639)
- Disable the tests on i686
* Tue Jan 31 2023 Stefan Hajnoczi <stefanha@redhat.com> - 7.2.0-6
- Enable libblkio
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2:7.2.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Wed Jan 11 2023 Richard W.M. Jones <rjones@redhat.com> - 2:7.2.0-4
- Rebuild for xen-4.17.0, second attempt
* Tue Jan 10 2023 Daniel P. Berrangé <berrange@redhat.com> - 7.2.0-3
- Fix compat with linux > 6.1 headers
- Re-enable iotests
* Tue Jan 03 2023 Richard W.M. Jones <rjones@redhat.com> - 2:7.2.0-2
- Rebuild for xen-4.17.0
* Mon Dec 19 2022 Eduardo Lima (Etrunko) <etrunko@redhat.com> - 7.2.0-1
- Rebase to qemu 7.2.0
* Fri Nov 11 2022 Eduardo Lima (Etrunko) <etrunko@redhat.com> - 7.1.0-4
- Update libbpf dependency
* Thu Sep 08 2022 Davide Cavalca <dcavalca@fedoraproject.org> - 7.1.0-3
- Unconditionally enable capstone-devel
* Thu Sep 08 2022 Davide Cavalca <dcavalca@fedoraproject.org> - 7.1.0-2
- Bump required meson version
* Wed Aug 31 2022 Eduardo Lima (Etrunko) <etrunko@redhat.com> - 7.1.0-1
- Rebase to qemu 7.1.0
* Tue Aug 2 2022 Daniel P. Berrangé <berrange@redhat.com> - 7.0.0-9
- Fix compat with glibc 2.36 headers
* Mon Jul 25 2022 Paolo Bonzini <pbonzini@redhat.com> - 2:7.0.0-8
- Replace pcre-static dependency with pcre2-static, to adjust for glib switching
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2:7.0.0-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Sat Jun 11 2022 Cole Robinson <crobinso@redhat.com> - 7.0.0-6
- Adjust for Xen dropping 32bit arches
@ -2912,125 +3066,3 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \
* Mon Jan 11 2021 Paolo Bonzini <pbonzini@redhat.com> - 2:5.2.0-5
- Use symlink for qemu-kvm.
- Fix make check on bash 5.1.
* Fri Dec 11 2020 Richard W.M. Jones <rjones@redhat.com> - 2:5.2.0-4
- qemu-char-spice not qemu-chardev-spice.
* Thu Dec 10 2020 Mohan Boddu <mboddu@bhujji.com> - 5.2.0-2
- Fixing the ISA Dependencies
* Wed Dec 09 2020 Cole Robinson <aintdiscole@gmail.com> - 5.2.0-1
- Rebase to qemu-5.2.0 GA
- Fix spice and GL UI module deps (bz 1904603)
* Thu Dec 03 2020 Richard W.M. Jones <rjones@redhat.com> - 5.2.0-0.9.rc4
- Enable qemu-kvm-core package on riscv64.
* Thu Dec 03 2020 Cole Robinson <aintdiscole@gmail.com> - 5.2.0-0.8.rc4
- Rebase to qemu-5.2.0-rc4
* Tue Nov 24 2020 Cole Robinson <aintdiscole@gmail.com> - 5.2.0-0.7.rc2
- Fix running 9p tests in copr
* Thu Nov 19 2020 Paolo Bonzini <pbonzini@redhat.com> - 5.2.0-0.6.rc2
- Remove --python=... to force use of system meson
* Thu Nov 19 2020 Daniel P. Berrangé <berrange@redhat.com> - 5.2.0-0.5.rc2
- Re-enable systemtap tracing
* Wed Nov 18 2020 Cole Robinson <aintdiscole@gmail.com> - 5.2.0-0.4.rc2
- Rebase to qemu-5.2.0-rc2
* Fri Nov 13 2020 Daniel P. Berrangé <berrange@redhat.com> - 5.2.0-0.3.rc1
- Disable user mode static builds in ELN
* Wed Nov 11 2020 Cole Robinson <aintdiscole@gmail.com> - 5.2.0-0.2.rc1
- Rebase to qemu-5.2.0-rc1
* Sun Nov 08 2020 Cole Robinson <aintdiscole@gmail.com> - 5.2.0-0.1.rc0
- Rebase to qemu-5.2.0-rc0
* Thu Nov 5 2020 Daniel P. Berrangé <berrange@redhat.com> - 5.1.0-7
- Disable LTO again. Tests were not passing, we were ignoring failures.
* Mon Oct 26 2020 Daniel P. Berrangé <berrange@redhat.com> - 5.1.0-6
- Re-enable LTO since tests now pass without asserts
* Fri Sep 4 2020 Daniel P. Berrangé <berrange@redhat.com> - 5.1.0-5
- Drop conditions for ppc, ppc64, mips64 and s390 arches
- Fix host qemu binary path for aarch64
- Re-enable kernel BR for QEMU sanity check
- Fix conditionals for enabling QEMU sanity check
- Check whether emulator works before doing sanity check
- Provide explicit kernel path for QEMU sanity check
- Make QEMU sanity check a build blocker
* Thu Sep 3 2020 Daniel P. Berrangé <berrange@redhat.com> - 5.1.0-4
- Add btrfs ioctls to linux-user (rhbz #1872918)
* Tue Aug 18 2020 Tom Stellard <tstellar@redhat.com> - 5.1.0-3
- Add BuildRequires: gcc
- https://fedoraproject.org/wiki/Packaging:C_and_C%2B%2B#BuildRequires_and_Requires
* Mon Aug 17 2020 Cole Robinson <aintdiscole@gmail.com> - 5.1.0-2
- Disable dtrace generation to fix use of modules (bz 1869339)
* Tue Aug 11 2020 Cole Robinson <crobinso@redhat.com> - 5.1.0-1
- Update to version 5.1.0
* Fri Aug 07 2020 Cole Robinson <crobinso@redhat.com> - 5.1.0-0.3.rc3
- Update to version 5.1.0-rc3
* Thu Aug 06 2020 Merlin Mathesius <mmathesi@redhat.com> - 5.1.0-0.2.rc2
- Use new %%{kernel_arches} macro to determine when a full kernel is available
* Wed Aug 05 2020 Cole Robinson <aintdiscole@gmail.com> - 5.1.0-0.2.rc2
- Pull in new modules by default, like we do for others
* Tue Aug 04 2020 Cole Robinson <aintdiscole@gmail.com> - 5.1.0-0.1.rc2
- Update to qemu 5.1.0 rc2
* Fri Jul 31 2020 Daniel P. Berrangé <berrange@redhat.com> - 5.0.0-6
- Remove obsolete Fedora conditionals (PR#9)
* Thu Jul 30 2020 Richard W.M. Jones <rjones@redhat.com> - 5.0.0-5
- Disable LTO as it caused many strange assert failures.
* Wed Jul 29 2020 Richard W.M. Jones <rjones@redhat.com> - 5.0.0-4
- Backport Dan's upstream patch to fix insecure cert in test suite.
* Mon Jul 27 2020 Kevin Fenzi <kevin@scrye.com> - 5.0.0-3
- Rebuild for new xen
* Wed May 13 2020 Cole Robinson <crobinso@redhat.com> - 5.0.0-2
- Fix iouring hang (bz #1823751)
* Wed May 06 2020 Cole Robinson <crobinso@redhat.com> - 5.0.0-1
- Update to version 5.0.0
* Thu Apr 16 2020 Cole Robinson <aintdiscole@gmail.com> - 5.0.0-0.3.rc3
- Update to qemu 5.0.0 rc3
* Thu Apr 09 2020 Cole Robinson <aintdiscole@gmail.com> - 5.0.0-0.3.rc2
- Update to qemu 5.0.0 rc2
* Wed Apr 08 2020 Adam Williamson <awilliam@redhat.com> - 2:5.0.0-0.2.rc0
- Rebuild for new brltty
* Wed Mar 25 2020 Cole Robinson <crobinso@redhat.com> - 2:5.0.0-0.1.rc0
- Update to qemu-5.0.0-rc0
* Tue Mar 17 2020 Fabiano Fidêncio <fidencio@redhat.com> - 2:4.2.0-7
- Fix segfault with SR-IOV hot-{plug,unplug} (bz #1814017)
* Tue Feb 25 2020 Cole Robinson <crobinso@redhat.com> - 2:4.2.0-6
- Rebuild for libiscsi soname bump
* Sat Feb 15 2020 Cole Robinson <crobinso@redhat.com> - 2:4.2.0-5
- Fix ppc shutdown issue (bz #1784961)
* Tue Jan 28 2020 Cole Robinson <crobinso@redhat.com> - 2:4.2.0-4
- virtio-fs support
* Sat Jan 25 2020 Richard W.M. Jones <rjones@redhat.com> - 4.2.0-3
- Add miscellaneous fixes for RISC-V (RHBZ#1794902).

View File

@ -1 +1 @@
SHA512 (qemu-7.0.0.tar.xz) = 44ecd10c018a3763e1bc87d1d35b98890d0d5636acd69fe9b5cadf5024d5af6a31684d60cbe1c3370e02986434c1fb0ad99224e0e6f6fe7eda169992508157b1
SHA512 (qemu-8.1.0.tar.xz) = c5f5e7ce2d8e3c93a02012b136c866e8577df07da4705a0045916c71caeaa21fa1b2d59a4b22a660789a4159b192e12a443e7cbb0724ee85fea258251731724c