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