]> git.proxmox.com Git - pve-qemu.git/blobdiff - debian/patches/extra/0012-hw-nvme-fix-missing-endian-conversions-for-doorbell-.patch
update submodule and patches to QEMU 8.0.0
[pve-qemu.git] / debian / patches / extra / 0012-hw-nvme-fix-missing-endian-conversions-for-doorbell-.patch
diff --git a/debian/patches/extra/0012-hw-nvme-fix-missing-endian-conversions-for-doorbell-.patch b/debian/patches/extra/0012-hw-nvme-fix-missing-endian-conversions-for-doorbell-.patch
deleted file mode 100644 (file)
index aa9d0b0..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Klaus Jensen <k.jensen@samsung.com>
-Date: Wed, 8 Mar 2023 19:57:12 +0300
-Subject: [PATCH] hw/nvme: fix missing endian conversions for doorbell buffers
-
-The eventidx and doorbell value are not handling endianness correctly.
-Fix this.
-
-Fixes: 3f7fe8de3d49 ("hw/nvme: Implement shadow doorbell buffer support")
-Cc: qemu-stable@nongnu.org
-Reported-by: Guenter Roeck <linux@roeck-us.net>
-Reviewed-by: Keith Busch <kbusch@kernel.org>
-Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
-(cherry picked from commit 2fda0726e5149e032acfa5fe442db56cd6433c4c)
-Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
-Conflicts: hw/nvme/ctrl.c
-(picked up from qemu-stable mailing list)
-Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
----
- hw/nvme/ctrl.c | 22 ++++++++++++++++------
- 1 file changed, 16 insertions(+), 6 deletions(-)
-
-diff --git a/hw/nvme/ctrl.c b/hw/nvme/ctrl.c
-index e54276dc1d..98d8e34109 100644
---- a/hw/nvme/ctrl.c
-+++ b/hw/nvme/ctrl.c
-@@ -1333,8 +1333,12 @@ static inline void nvme_blk_write(BlockBackend *blk, int64_t offset,
- static void nvme_update_cq_head(NvmeCQueue *cq)
- {
--    pci_dma_read(&cq->ctrl->parent_obj, cq->db_addr, &cq->head,
--            sizeof(cq->head));
-+    uint32_t v;
-+
-+    pci_dma_read(&cq->ctrl->parent_obj, cq->db_addr, &v, sizeof(v));
-+
-+    cq->head = le32_to_cpu(v);
-+
-     trace_pci_nvme_shadow_doorbell_cq(cq->cqid, cq->head);
- }
-@@ -6141,15 +6145,21 @@ static uint16_t nvme_admin_cmd(NvmeCtrl *n, NvmeRequest *req)
- static void nvme_update_sq_eventidx(const NvmeSQueue *sq)
- {
--    pci_dma_write(&sq->ctrl->parent_obj, sq->ei_addr, &sq->tail,
--                  sizeof(sq->tail));
-+    uint32_t v = cpu_to_le32(sq->tail);
-+
-+    pci_dma_write(&sq->ctrl->parent_obj, sq->ei_addr, &v, sizeof(v));
-+
-     trace_pci_nvme_eventidx_sq(sq->sqid, sq->tail);
- }
- static void nvme_update_sq_tail(NvmeSQueue *sq)
- {
--    pci_dma_read(&sq->ctrl->parent_obj, sq->db_addr, &sq->tail,
--                 sizeof(sq->tail));
-+    uint32_t v;
-+
-+    pci_dma_read(&sq->ctrl->parent_obj, sq->db_addr, &v, sizeof(v));
-+
-+    sq->tail = le32_to_cpu(v);
-+
-     trace_pci_nvme_shadow_doorbell_sq(sq->sqid, sq->tail);
- }