diff --git a/0001-tests-Disable-pci_virtio_vga-for-ppc64.patch b/0001-tests-Disable-pci_virtio_vga-for-ppc64.patch
new file mode 100644
index 0000000..26d8ed7
--- /dev/null
+++ b/0001-tests-Disable-pci_virtio_vga-for-ppc64.patch
@@ -0,0 +1,32 @@
+From f6d5fd60f54fb9dcdc3733154637a3a214f5d5af Mon Sep 17 00:00:00 2001
+From: "Eduardo Lima (Etrunko)" <etrunko@redhat.com>
+Date: Thu, 1 Sep 2022 12:43:49 -0300
+Subject: [PATCH] tests: Disable pci_virtio_vga for ppc64
+
+starting QEMU: exec ./qemu-system-ppc64 -qtest unix:/tmp/qtest-2378197.sock -qtest-log /dev/null -chardev socket,path=/tmp/qtest-2378197.qmp,id=char0 -mon chardev=char0,mode=control -display none -vga none -device virtio-vga -accel qtest
+stderr:
+qemu-system-ppc64: -device virtio-vga: 'virtio-vga' is not a valid device model name
+Broken pipe
+../tests/qtest/libqtest.c:156: kill_qemu() tried to terminate QEMU process but encountered exit status 1 (expected 0)
+
+Signed-off-by: Eduardo Lima (Etrunko) <etrunko@redhat.com>
+---
+ tests/qtest/display-vga-test.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/qtest/display-vga-test.c b/tests/qtest/display-vga-test.c
+index ace3bb28e0..628dad4cf2 100644
+--- a/tests/qtest/display-vga-test.c
++++ b/tests/qtest/display-vga-test.c
+@@ -61,7 +61,7 @@ int main(int argc, char **argv)
+     qtest_add_func("/display/pci/multihead", pci_multihead);
+     qtest_add_func("/display/pci/virtio-gpu", pci_virtio_gpu);
+     if (g_str_equal(arch, "i386") || g_str_equal(arch, "x86_64") ||
+-        g_str_equal(arch, "hppa") || g_str_equal(arch, "ppc64")) {
++        g_str_equal(arch, "hppa")) {
+         qtest_add_func("/display/pci/virtio-vga", pci_virtio_vga);
+     }
+ 
+-- 
+2.37.2
+
diff --git a/0002-virtio-scsi-fix-ctrl-and-event-handler-functions-in-.patch b/0002-virtio-scsi-fix-ctrl-and-event-handler-functions-in-.patch
deleted file mode 100644
index 32c90a1..0000000
--- a/0002-virtio-scsi-fix-ctrl-and-event-handler-functions-in-.patch
+++ /dev/null
@@ -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);
diff --git a/0003-virtio-scsi-don-t-waste-CPU-polling-the-event-virtqu.patch b/0003-virtio-scsi-don-t-waste-CPU-polling-the-event-virtqu.patch
deleted file mode 100644
index 03acef6..0000000
--- a/0003-virtio-scsi-don-t-waste-CPU-polling-the-event-virtqu.patch
+++ /dev/null
@@ -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);
diff --git a/0004-virtio-scsi-clean-up-virtio_scsi_handle_event_vq.patch b/0004-virtio-scsi-clean-up-virtio_scsi_handle_event_vq.patch
deleted file mode 100644
index d3eff90..0000000
--- a/0004-virtio-scsi-clean-up-virtio_scsi_handle_event_vq.patch
+++ /dev/null
@@ -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);
diff --git a/0005-virtio-scsi-clean-up-virtio_scsi_handle_ctrl_vq.patch b/0005-virtio-scsi-clean-up-virtio_scsi_handle_ctrl_vq.patch
deleted file mode 100644
index bde9298..0000000
--- a/0005-virtio-scsi-clean-up-virtio_scsi_handle_ctrl_vq.patch
+++ /dev/null
@@ -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,
diff --git a/0006-virtio-scsi-clean-up-virtio_scsi_handle_cmd_vq.patch b/0006-virtio-scsi-clean-up-virtio_scsi_handle_cmd_vq.patch
deleted file mode 100644
index 89c5e58..0000000
--- a/0006-virtio-scsi-clean-up-virtio_scsi_handle_cmd_vq.patch
+++ /dev/null
@@ -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,
diff --git a/0007-virtio-scsi-move-request-related-items-from-.h-to-.c.patch b/0007-virtio-scsi-move-request-related-items-from-.h-to-.c.patch
deleted file mode 100644
index 89377c8..0000000
--- a/0007-virtio-scsi-move-request-related-items-from-.h-to-.c.patch
+++ /dev/null
@@ -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);
diff --git a/0008-Disable-flakey-dbus-display-test.patch b/0008-Disable-flakey-dbus-display-test.patch
deleted file mode 100644
index 01bae39..0000000
--- a/0008-Disable-flakey-dbus-display-test.patch
+++ /dev/null
@@ -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')
diff --git a/0009-Fix-iotests-with-modules-and-qemu-system-s390x.patch b/0009-Fix-iotests-with-modules-and-qemu-system-s390x.patch
deleted file mode 100644
index d4f84a0..0000000
--- a/0009-Fix-iotests-with-modules-and-qemu-system-s390x.patch
+++ /dev/null
@@ -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
diff --git a/0011-linux-user-fix-compat-with-glibc-2.36-sys-mount.h.patch b/0011-linux-user-fix-compat-with-glibc-2.36-sys-mount.h.patch
deleted file mode 100644
index 8718405..0000000
--- a/0011-linux-user-fix-compat-with-glibc-2.36-sys-mount.h.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-From a7f14aae85022007a4c77e0792a1abb0509a08eb Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>
-Date: Tue, 2 Aug 2022 12:34:23 -0400
-Subject: [PATCH] linux-user: fix compat with glibc >= 2.36 sys/mount.h
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The latest glibc 2.36 has extended sys/mount.h so that it
-defines the FSCONFIG_* enum constants. These are historically
-defined in linux/mount.h, and thus if you include both headers
-the compiler complains:
-
-In file included from /usr/include/linux/fs.h:19,
-                 from ../linux-user/syscall.c:98:
-/usr/include/linux/mount.h:95:6: error: redeclaration of 'enum fsconfig_command'
-   95 | enum fsconfig_command {
-      |      ^~~~~~~~~~~~~~~~
-In file included from ../linux-user/syscall.c:31:
-/usr/include/sys/mount.h:189:6: note: originally defined here
-  189 | enum fsconfig_command
-      |      ^~~~~~~~~~~~~~~~
-/usr/include/linux/mount.h:96:9: error: redeclaration of enumerator 'FSCONFIG_SET_FLAG'
-   96 |         FSCONFIG_SET_FLAG       = 0,    /* Set parameter, supplying no value */
-      |         ^~~~~~~~~~~~~~~~~
-/usr/include/sys/mount.h:191:3: note: previous definition of 'FSCONFIG_SET_FLAG' with type 'enum fsconfig_command'
-  191 |   FSCONFIG_SET_FLAG       = 0,    /* Set parameter, supplying no value */
-      |   ^~~~~~~~~~~~~~~~~
-...snip...
-
-QEMU doesn't include linux/mount.h, but it does use
-linux/fs.h and thus gets linux/mount.h indirectly.
-
-glibc acknowledges this problem but does not appear to
-be intending to fix it in the forseeable future, simply
-documenting it as a known incompatibility with no
-workaround:
-
-  https://sourceware.org/glibc/wiki/Release/2.36#Usage_of_.3Clinux.2Fmount.h.3E_and_.3Csys.2Fmount.h.3E
-  https://sourceware.org/glibc/wiki/Synchronizing_Headers
-
-To address this requires either removing use of sys/mount.h
-or linux/fs.h, despite QEMU needing declarations from
-both.
-
-This patch removes linux/fs.h, meaning we have to define
-various FS_IOC constants that are now unavailable.
-
-Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
----
- linux-user/syscall.c | 18 ++++++++++++++++++
- meson.build          |  2 ++
- 2 files changed, 20 insertions(+)
-
-diff --git a/linux-user/syscall.c b/linux-user/syscall.c
-index b27a6552aa..52d178afe7 100644
---- a/linux-user/syscall.c
-+++ b/linux-user/syscall.c
-@@ -95,7 +95,25 @@
- #include <linux/soundcard.h>
- #include <linux/kd.h>
- #include <linux/mtio.h>
-+
-+#ifdef HAVE_SYS_MOUNT_FSCONFIG
-+/*
-+ * glibc >= 2.36 linux/mount.h conflicts with sys/mount.h,
-+ * which in turn prevents use of linux/fs.h. So we have to
-+ * define the constants ourselves for now.
-+ */
-+#define FS_IOC_GETFLAGS                _IOR('f', 1, long)
-+#define FS_IOC_SETFLAGS                _IOW('f', 2, long)
-+#define FS_IOC_GETVERSION              _IOR('v', 1, long)
-+#define FS_IOC_SETVERSION              _IOW('v', 2, long)
-+#define FS_IOC_FIEMAP                  _IOWR('f', 11, struct fiemap)
-+#define FS_IOC32_GETFLAGS              _IOR('f', 1, int)
-+#define FS_IOC32_SETFLAGS              _IOW('f', 2, int)
-+#define FS_IOC32_GETVERSION            _IOR('v', 1, int)
-+#define FS_IOC32_SETVERSION            _IOW('v', 2, int)
-+#else
- #include <linux/fs.h>
-+#endif
- #include <linux/fd.h>
- #if defined(CONFIG_FIEMAP)
- #include <linux/fiemap.h>
-diff --git a/meson.build b/meson.build
-index 294e9a8f32..30a380752c 100644
---- a/meson.build
-+++ b/meson.build
-@@ -1963,6 +1963,8 @@ config_host_data.set('HAVE_OPTRESET',
-                      cc.has_header_symbol('getopt.h', 'optreset'))
- config_host_data.set('HAVE_IPPROTO_MPTCP',
-                      cc.has_header_symbol('netinet/in.h', 'IPPROTO_MPTCP'))
-+config_host_data.set('HAVE_SYS_MOUNT_FSCONFIG',
-+                     cc.has_header_symbol('sys/mount.h', 'FSCONFIG_SET_FLAG'))
- 
- # has_member
- config_host_data.set('HAVE_SIGEV_NOTIFY_THREAD_ID',
--- 
-2.37.1
-
diff --git a/qemu.spec b/qemu.spec
index ff3c093..432d7c8 100644
--- a/qemu.spec
+++ b/qemu.spec
@@ -317,11 +317,11 @@ Obsoletes: %{name}-system-unicore32-core <= %{epoch}:%{version}-%{release}
 %endif
 
 # To prevent rpmdev-bumpspec breakage
-%global baserelease 9
+%global baserelease 1
 
 Summary: QEMU is a FAST! processor emulator
 Name: qemu
-Version: 7.0.0
+Version: 7.1.0
 Release: %{baserelease}%{?rcrel}%{?dist}
 Epoch: 2
 License: GPLv2 and BSD and MIT and CC-BY
@@ -342,18 +342,8 @@ Source36: README.tests
 
 # Fix SGX assert
 Patch: 0001-target-i386-the-sgx_epc_get_section-stub-is-reachabl.patch
-# Fix virtio-scsi hang (bz #2079347)
-Patch: 0002-virtio-scsi-fix-ctrl-and-event-handler-functions-in-.patch
-Patch: 0003-virtio-scsi-don-t-waste-CPU-polling-the-event-virtqu.patch
-Patch: 0004-virtio-scsi-clean-up-virtio_scsi_handle_event_vq.patch
-Patch: 0005-virtio-scsi-clean-up-virtio_scsi_handle_ctrl_vq.patch
-Patch: 0006-virtio-scsi-clean-up-virtio_scsi_handle_cmd_vq.patch
-Patch: 0007-virtio-scsi-move-request-related-items-from-.h-to-.c.patch
-Patch: 0008-Disable-flakey-dbus-display-test.patch
-Patch: 0009-Fix-iotests-with-modules-and-qemu-system-s390x.patch
+Patch: 0001-tests-Disable-pci_virtio_vga-for-ppc64.patch
 Patch: 0010-Skip-iotests-entirely.patch
-# Not yet upstream, fix glibc 2.36 compat
-Patch: 0011-linux-user-fix-compat-with-glibc-2.36-sys-mount.h.patch
 
 BuildRequires: meson >= %{meson_version}
 BuildRequires: zlib-devel
@@ -512,6 +502,11 @@ BuildRequires: pcre-static
 %endif
 %endif
 
+# vfio-user-server
+BuildRequires: pkgconfig(json-c)
+BuildRequires: pkgconfig(cmocka)
+
+
 # Requires for the Fedora 'qemu' metapackage
 Requires: %{name}-user = %{epoch}:%{version}-%{release}
 Requires: %{name}-system-aarch64 = %{epoch}:%{version}-%{release}
@@ -519,6 +514,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}
@@ -959,6 +955,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
@@ -1012,6 +1009,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
@@ -1176,6 +1179,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}
@@ -1386,8 +1403,6 @@ 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
@@ -1508,20 +1523,19 @@ mkdir -p %{static_builddir}
   --disable-user                   \\\
   --disable-vde                    \\\
   --disable-vdi                    \\\
+  --disable-vfio-user-server       \\\
   --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                  \\\
@@ -1589,7 +1603,7 @@ run_configure \
 %endif
   --enable-bpf \
   --enable-cap-ng \
-  --enable-capstone=auto \
+  --enable-capstone \
   --enable-coroutine-pool \
   --enable-curl \
 %if %{have_dbus_display}
@@ -1657,9 +1671,8 @@ run_configure \
   --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 \
@@ -1716,8 +1729,8 @@ run_configure \
 %endif
   --enable-usb-redir \
   --enable-vdi \
+  --enable-vfio-user-server \
   --enable-vhost-crypto \
-  --enable-vhost-scsi \
 %if %{have_virgl}
   --enable-virglrenderer \
 %endif
@@ -2039,6 +2052,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
@@ -2190,6 +2208,8 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \
 # Fedora specific
 %{_datadir}/applications/qemu.desktop
 %exclude %{_datadir}/%{name}/qemu-nsis.bmp
+%{_libdir}/libvfio-user.so*
+%exclude %{_includedir}/vfio-user/
 %{_libexecdir}/virtfs-proxy-helper
 %{_mandir}/man1/virtfs-proxy-helper.1*
 
@@ -2325,6 +2345,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 +2379,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 +2438,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 +2601,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,6 +2757,9 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \
 
 
 %changelog
+* 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
 
diff --git a/sources b/sources
index 9f53caf..9b00967 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (qemu-7.0.0.tar.xz) = 44ecd10c018a3763e1bc87d1d35b98890d0d5636acd69fe9b5cadf5024d5af6a31684d60cbe1c3370e02986434c1fb0ad99224e0e6f6fe7eda169992508157b1
+SHA512 (qemu-7.1.0.tar.xz) = c60c5ff8ec99b7552e485768908920658fdd8035ff7a6fa370fb6881957dc8b7e5f18ff1a8f49bd6aa22909ede2a7c084986d8244f12074ccd33ebe40a0c411f