Hi, On 1/3/26 6:21 AM, Tao Tang wrote: > Hi all, > >> Introduce a -M msi= argument to be able to control MSI-X support >> independently >> from ITS, as part of supporting GICv3 + GICv2m platforms. >> >> Remove vms->its as it's no longer needed after that change. >> >> Signed-off-by: Mohamed Mediouni <[email protected]> >> Reviewed-by: Pierrick Bouvier <[email protected]> >> --- >> hw/arm/virt-acpi-build.c | 3 +- >> hw/arm/virt.c | 110 ++++++++++++++++++++++++++++++++------- >> include/hw/arm/virt.h | 4 +- >> 3 files changed, 94 insertions(+), 23 deletions(-) >> >> diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c >> index 86024a1a73..f3adb95cfe 100644 > > I’m trying to clarify the current status of ITS under TCG for the virt > machine.(may be a stupid question...) > > The virt documentation states: "Note that ITS is not modeled in TCG > mode." [1] this is outdated. I think ITS TCG support was introduced in 6.2.0
https://www.qemu.org/2021/12/14/qemu-6-2-0/ You can have a look at the emulaation code in hw/intc/arm_gicv3_its.c Thanks Eric > > However, when looking at hw/arm/virt.c, I don’t immediately see a hard > prohibition of ITS under TCG; for example, the MSI/ITS logic appears > to allow ITS depending on machine/version settings, and the series > also keeps tcg_its.[2] [3] > > > Could you please confirm the intended behavior today: is ITS expected > to be modeled under TCG for the latest virt machine? > > > [1]: > https://github.com/qemu/qemu/blob/master/docs/system/arm/virt.rst?plain=1#L46 > > > [2]: https://github.com/qemu/qemu/blob/master/hw/arm/virt.c#L3490 > > [3]: https://github.com/qemu/qemu/blob/master/hw/arm/virt.c#L3656 > > > Also, Mohamed’s recent work to support "GICv3 + GICv2m" (and to > control MSI independently from ITS via -M msi=) looks like a very > practical workaround for environments where GICv3 is needed but ITS is > unavailable. > > > Best regards, > > Tao >
