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.
v5:
- Fix possible NULL pointer deference in remove_intx_remapping in second
patch
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 | 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(-)
--
2.30.2