]> xenbits.xensource.com Git - qemu-xen.git/commitdiff
hw/i386/x86-iommu: Fix endianness issue in x86_iommu_irq_to_msi_message()
authorThomas Huth <thuth@redhat.com>
Wed, 2 Aug 2023 13:57:22 +0000 (15:57 +0200)
committerMichael S. Tsirkin <mst@redhat.com>
Thu, 3 Aug 2023 20:16:17 +0000 (16:16 -0400)
The values in "msg" are assembled in host endian byte order (the other
field are also not swapped), so we must not swap the __addr_head here.

Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20230802135723.178083-6-thuth@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Peter Xu <peterx@redhat.com>
hw/i386/x86-iommu.c

index 01d11325a69067dabeadc3eda0f4e9234edd4167..726e9e1d16e3700241527d34cb2904d36c4418d8 100644 (file)
@@ -63,7 +63,7 @@ void x86_iommu_irq_to_msi_message(X86IOMMUIrq *irq, MSIMessage *msg_out)
     msg.redir_hint = irq->redir_hint;
     msg.dest = irq->dest;
     msg.__addr_hi = irq->dest & 0xffffff00;
-    msg.__addr_head = cpu_to_le32(0xfee);
+    msg.__addr_head = 0xfee;
     /* Keep this from original MSI address bits */
     msg.__not_used = irq->msi_addr_last_bits;