Merge remote-tracking branch 'up/main' into main-riscv64
Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
This commit is contained in:
commit
05c11e868d
6
.rpmlintrc
Normal file
6
.rpmlintrc
Normal 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\)')
|
@ -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;
|
||||
}
|
58
0001-tests-Disable-iotests-like-RHEL-does.patch
Normal file
58
0001-tests-Disable-iotests-like-RHEL-does.patch
Normal 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
|
||||
|
@ -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);
|
@ -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);
|
@ -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);
|
@ -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,
|
@ -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,
|
@ -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);
|
@ -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')
|
@ -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
|
@ -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
|
@ -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"
|
||||
|
461
qemu.spec
461
qemu.spec
@ -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}%{?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
|
||||
@ -2476,8 +2553,8 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \
|
||||
%{_bindir}/qemu-riscv64-static
|
||||
%{_datadir}/systemtap/tapset/qemu-riscv32-static.stp
|
||||
%{_datadir}/systemtap/tapset/qemu-riscv64-static.stp
|
||||
%ifnarch riscv64
|
||||
%{_exec_prefix}/lib/binfmt.d/qemu-riscv32-static.conf
|
||||
%ifnarch riscv64
|
||||
%{_exec_prefix}/lib/binfmt.d/qemu-riscv64-static.conf
|
||||
%endif
|
||||
|
||||
@ -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,84 @@ 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 Aug 24 2023 Cole Robinson <crobinso@redhat.com> - 8.1.0-2
|
||||
- Make qemu-docs noarch
|
||||
|
||||
* 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)
|
||||
* Wed Aug 23 2023 Cole Robinson <crobinso@redhat.com> - 8.1.0-1
|
||||
- Rebase to qemu 8.1.0 GA
|
||||
|
||||
* Mon Jul 18 2022 David Abdurachmanov <davidlt@rivosinc.com> - 7.0.0-6.1.riscv64
|
||||
- Disable tests (some hand with futex endless loop)
|
||||
* Mon Aug 21 2023 Davide Cavalca <dcavalca@fedoraproject.org> - 8.1.0-0.2-rc4
|
||||
- Adjust virtiofsd requires for el9 and older
|
||||
|
||||
* Wed Jul 13 2022 David Abdurachmanov <davidlt@rivosinc.com> - 7.0.0-6.0.riscv64
|
||||
- Disable capstone on riscv64 and add BR libatomic
|
||||
* 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 +3063,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).
|
||||
|
2
sources
2
sources
@ -1 +1 @@
|
||||
SHA512 (qemu-7.0.0.tar.xz) = 44ecd10c018a3763e1bc87d1d35b98890d0d5636acd69fe9b5cadf5024d5af6a31684d60cbe1c3370e02986434c1fb0ad99224e0e6f6fe7eda169992508157b1
|
||||
SHA512 (qemu-8.1.0.tar.xz) = c5f5e7ce2d8e3c93a02012b136c866e8577df07da4705a0045916c71caeaa21fa1b2d59a4b22a660789a4159b192e12a443e7cbb0724ee85fea258251731724c
|
||||
|
Loading…
Reference in New Issue
Block a user