[PATCH v5 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.

- Fix possible NULL pointer deference in remove_intx_remapping in second

- 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.

- 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

- 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 | 43 ++++++++--------
hypervisor/common/hypercall.c | 3 +-
hypervisor/common/ptdev.c | 49 +++++++++++--------
.../include/arch/x86/asm/guest/assign.h | 8 +--
4 files changed, 59 insertions(+), 44 deletions(-)