[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 63/65] intel_iommu: Send IQE event when setting reserved bit in IQ
From: |
Michael S. Tsirkin |
Subject: |
[PULL 63/65] intel_iommu: Send IQE event when setting reserved bit in IQT_TAIL |
Date: |
Mon, 4 Nov 2024 16:09:40 -0500 |
From: Zhenzhong Duan <zhenzhong.duan@intel.com>
According to VTD spec, Figure 11-22, Invalidation Queue Tail Register,
"When Descriptor Width (DW) field in Invalidation Queue Address Register
(IQA_REG) is Set (256-bit descriptors), hardware treats bit-4 as reserved
and a value of 1 in the bit will result in invalidation queue error."
Current code missed to send IQE event to guest, fix it.
Fixes: c0c1d351849b ("intel_iommu: add 256 bits qi_desc support")
Suggested-by: Yi Liu <yi.l.liu@intel.com>
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Message-Id: <20241104125536.1236118-2-zhenzhong.duan@intel.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
hw/i386/intel_iommu.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c
index 8612d0917b..1ecfe47963 100644
--- a/hw/i386/intel_iommu.c
+++ b/hw/i386/intel_iommu.c
@@ -2847,6 +2847,7 @@ static void vtd_handle_iqt_write(IntelIOMMUState *s)
if (s->iq_dw && (val & VTD_IQT_QT_256_RSV_BIT)) {
error_report_once("%s: RSV bit is set: val=0x%"PRIx64,
__func__, val);
+ vtd_handle_inv_queue_error(s);
return;
}
s->iq_tail = VTD_IQT_QT(s->iq_dw, val);
--
MST
- [PULL 57/65] hw/pci: Add parenthesis to PCI_BUILD_BDF macro, (continued)
[PULL 62/65] hw/acpi: Update GED with vCPU Hotplug VMSD for migration, Michael S. Tsirkin, 2024/11/04
[PULL 61/65] tests/qtest/bios-tables-test: Update DSDT golden masters for x86/{pc,q35}, Michael S. Tsirkin, 2024/11/04
[PULL 63/65] intel_iommu: Send IQE event when setting reserved bit in IQT_TAIL,
Michael S. Tsirkin <=
[PULL 65/65] intel_iommu: Add missed reserved bit check for IEC descriptor, Michael S. Tsirkin, 2024/11/04
[PULL 64/65] intel_iommu: Add missed sanity check for 256-bit invalidation queue, Michael S. Tsirkin, 2024/11/04
[PULL 52/65] hw/cxl: Avoid accesses beyond the end of cel_log., Michael S. Tsirkin, 2024/11/04
[PULL 51/65] hw/cxl: Check the length of data requested fits in get_log(), Michael S. Tsirkin, 2024/11/04
[PULL 43/65] intel_iommu: Introduce property "stale-tm" to control Transient Mapping (TM) field, Michael S. Tsirkin, 2024/11/04
Re: [PULL 00/65] virtio,pc,pci: features, fixes, cleanups, Peter Maydell, 2024/11/05