[PATCH v4 0/2] ptirq: Fix PCIe INTx passthru issue


Qiang Zhang
 

This series fixes hypervisor side PCIe INTx passthru issue occurred
when passthru USB xDCI, SMbus controllers and IPU to Post-launched VM.

The first patch fixes the hash table implementation used to look up
`ptirq_remapping_info` from physical interrupt or virtual interrupt
in a VM.

The second patch fixes wrong IOAPIC and RTE states when assigning an
INTx interrupt to Post-launched VM.

v4:
- Rename hash table structures in first patch
- Add a parameter to ptirq_remove_intx_remapping to remove physical gsi
assigned to a VM
- Move removal and addition logic of INTx remapping to hypercall handler.

v3:
- Split into two patches.
- Fix the naming GSI to SID as it's common for both INTx and MSI
- Refine commit log in the first patch

v2:
- Add ptirq_reassign_intx_remapping to do intx reassignment from ServiceVM
to Postlaunched VM, instead of patching the logic in add_intx_remapping.

Qiang Zhang (2):
ptirq: Fix ptirq hash tables
ptirq: Fix INTx assignment for Post-launched VM

hypervisor/arch/x86/guest/assign.c | 42 ++++++++--------
hypervisor/common/hypercall.c | 3 +-
hypervisor/common/ptdev.c | 49 +++++++++++--------
.../include/arch/x86/asm/guest/assign.h | 8 +--
4 files changed, 58 insertions(+), 44 deletions(-)

--
2.30.2