[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 01/56] msix: allow qword MSI-X table accesses
From: |
Michael S. Tsirkin |
Subject: |
[PULL 01/56] msix: allow qword MSI-X table accesses |
Date: |
Wed, 10 Jun 2020 00:26:34 -0400 |
PCI spec says:
For all accesses to MSI-X Table and MSI-X PBA fields, software must use
aligned full DWORD or aligned full QWORD transactions; otherwise, the
result is undefined.
However, since MSI-X was converted to use memory API, QEMU
started blocking qword transactions, only allowing DWORD
ones. Guests do not seem to use QWORD accesses, but let's
be spec compliant.
Fixes: 95524ae8dc8f ("msix: convert to memory API")
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
hw/pci/msix.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/hw/pci/msix.c b/hw/pci/msix.c
index 29187898f2..e6a5559038 100644
--- a/hw/pci/msix.c
+++ b/hw/pci/msix.c
@@ -199,6 +199,9 @@ static const MemoryRegionOps msix_table_mmio_ops = {
.endianness = DEVICE_LITTLE_ENDIAN,
.valid = {
.min_access_size = 4,
+ .max_access_size = 8,
+ },
+ .impl = {
.max_access_size = 4,
},
};
@@ -227,6 +230,9 @@ static const MemoryRegionOps msix_pba_mmio_ops = {
.endianness = DEVICE_LITTLE_ENDIAN,
.valid = {
.min_access_size = 4,
+ .max_access_size = 8,
+ },
+ .impl = {
.max_access_size = 4,
},
};
--
MST
- [PULL 00/56] virtio,acpi,pci: features, fixes, cleanups, tests, Michael S. Tsirkin, 2020/06/10
- [PULL 02/56] diffs-allowed: add the SRAT AML to diffs-allowed, Michael S. Tsirkin, 2020/06/10
- [PULL 01/56] msix: allow qword MSI-X table accesses,
Michael S. Tsirkin <=
- [PULL 06/56] acpi: move aml builder code for rtc device, Michael S. Tsirkin, 2020/06/10
- [PULL 07/56] acpi: rtc: use a single crs range, Michael S. Tsirkin, 2020/06/10
- [PULL 08/56] acpi: serial: don't use _STA method, Michael S. Tsirkin, 2020/06/10
- [PULL 09/56] acpi: move aml builder code for serial device, Michael S. Tsirkin, 2020/06/10
- [PULL 10/56] acpi: parallel: don't use _STA method, Michael S. Tsirkin, 2020/06/10
- [PULL 12/56] tests/acpi: update DSDT expected files, Michael S. Tsirkin, 2020/06/10
- [PULL 13/56] acpi: tpm: Do not build TCPA table for TPM 2, Michael S. Tsirkin, 2020/06/10
- [PULL 14/56] acpi: Convert build_tpm2() to build_append* API, Michael S. Tsirkin, 2020/06/10
- [PULL 15/56] acpi: Move build_tpm2() in the generic part, Michael S. Tsirkin, 2020/06/10
- [PULL 16/56] arm/acpi: TPM2 ACPI table support, Michael S. Tsirkin, 2020/06/10