]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
hw/cxl: Fix msix_notify: Assertion `vector < dev->msix_entries_nr`
authorLi Zhijian <lizhijian@fujitsu.com>
Wed, 15 Jan 2025 07:58:34 +0000 (15:58 +0800)
committerMichael Tokarev <mjt@tls.msk.ru>
Fri, 17 Jan 2025 07:57:59 +0000 (10:57 +0300)
This assertion always happens when we sanitize the CXL memory device.
$ echo 1 > /sys/bus/cxl/devices/mem0/security/sanitize

It is incorrect to register an MSIX number beyond the device's capability.

Increase the device's MSIX number to cover the mailbox msix number(9).

Fixes: 43efb0bfad2b ("hw/cxl/mbox: Wire up interrupts for background completion")
Signed-off-by: Li Zhijian <lizhijian@fujitsu.com>
Message-Id: <20250115075834.167504-1-lizhijian@fujitsu.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
(cherry picked from commit 1ce979e7269a34d19ea1a65808df014d8b2acbf6)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
hw/mem/cxl_type3.c

index 52647b4ac7b66f96c507fa9dd2d5c06106df39b4..72d93713473d615824ada1525a8c6e36485d278b 100644 (file)
@@ -685,7 +685,7 @@ static void ct3_realize(PCIDevice *pci_dev, Error **errp)
     ComponentRegisters *regs = &cxl_cstate->crb;
     MemoryRegion *mr = &regs->component_registers;
     uint8_t *pci_conf = pci_dev->config;
-    unsigned short msix_num = 6;
+    unsigned short msix_num = 10;
     int i, rc;
 
     QTAILQ_INIT(&ct3d->error_list);