> On 4. Aug 2025, at 21:50, Pierrick Bouvier <pierrick.bouv...@linaro.org> 
> wrote:
> 
> On 8/4/25 7:23 AM, Mohamed Mediouni wrote:
>> Windows Hypervisor Platform's vGIC doesn't support ITS.
>> Deal with this by reporting to the user and not creating the ITS device.
>> Signed-off-by: Mohamed Mediouni <moha...@unpredictable.fr>
>> ---
>>  hw/arm/virt.c | 10 ++++++++++
>>  1 file changed, 10 insertions(+)
>> diff --git a/hw/arm/virt.c b/hw/arm/virt.c
>> index 98a1c74c42..0039f6a12b 100644
>> --- a/hw/arm/virt.c
>> +++ b/hw/arm/virt.c
>> @@ -741,6 +741,16 @@ static void create_its(VirtMachineState *vms)
>>          return;
>>      }
>>  +    if (whpx_enabled() && vms->tcg_its) {
>> +        /*
>> +         * Signal to the user when ITS is neither supported by the host
>> +         * nor emulated by the machine.
>> +         */
>> +        info_report("ITS not supported on WHPX.");
>> +        info_report("To support MSIs, use its=off to enable GICv3 + 
>> GICv2m.");
>> +        return;
>> +    }
>> +
>>      dev = qdev_new(its_class_name());
>>        object_property_set_link(OBJECT(dev), "parent-gicv3", 
>> OBJECT(vms->gic),
> 
> Is it equivalent to simply using its=off, or is there a difference?
> The info_report seems to imply it's not the same.

Not equivalent.

Regular system: GICv3 + ITS
This configuration (for the newest machine version): GICv3 with no MSIs
And its=off explicitly: GICv3 + GICv2m

It became not equivalent since the intro of GICv3 + GICv2m in patch 2 of this 
series.

Thank you,



Reply via email to