hw/i386/x86-iommu: Fix endianness issue in x86_iommu_irq_to_msi_message()
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>
(cherry picked from commit 37cf5cecb0
)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
This commit is contained in:
parent
fd02247083
commit
b58abc4a2b
@ -63,7 +63,7 @@ void x86_iommu_irq_to_msi_message(X86IOMMUIrq *irq, MSIMessage *msg_out)
|
|||||||
msg.redir_hint = irq->redir_hint;
|
msg.redir_hint = irq->redir_hint;
|
||||||
msg.dest = irq->dest;
|
msg.dest = irq->dest;
|
||||||
msg.__addr_hi = irq->dest & 0xffffff00;
|
msg.__addr_hi = irq->dest & 0xffffff00;
|
||||||
msg.__addr_head = cpu_to_le32(0xfee);
|
msg.__addr_head = 0xfee;
|
||||||
/* Keep this from original MSI address bits */
|
/* Keep this from original MSI address bits */
|
||||||
msg.__not_used = irq->msi_addr_last_bits;
|
msg.__not_used = irq->msi_addr_last_bits;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user