Question on guest enable msi fail when using GICv4/4.1
From: Shaokun Zhang <hidden>
Date: 2021-05-07 05:59:51
Also in:
kvm, kvmarm, linux-pci
From: Shaokun Zhang <hidden>
Date: 2021-05-07 05:59:51
Also in:
kvm, kvmarm, linux-pci
[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 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel