[This letter comes from Nianyao Tang]

Hi,

Using GICv4/4.1 and msi capability, guest vf driver requires 3 vectors and 
enable msi, will lead to
guest stuck. Qemu gets number of interrupts from Multiple Message Capable field 
set by guest. This
field is aligned to a power of 2(if a function requires 3 vectors, it 
initializes it to 2).
However, guest driver just sends 3 mapi-cmd to vits and 3 ite entries is 
recorded in host.
Vfio initializes msi interrupts using the number of interrupts 4 provide by 
qemu.
When it comes to the 4th msi without ite in vits, in 
irq_bypass_register_producer, producer
and consumer will __connect fail, due to find_ite fail, and do not resume guest.

Do we support this case, Guest function using msi interrupts number not aligned 
to a power of 2?
Or qemu should provide correct msi interrupts number?

Thanks,
Shaokun
_______________________________________________
kvmarm mailing list
[email protected]
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

Reply via email to