qemu-arm
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Implementing GICv3 ITS support for TCG emulation


From: Auger Eric
Subject: Re: Implementing GICv3 ITS support for TCG emulation
Date: Tue, 17 Nov 2020 18:46:19 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.5.0

Hi Alex,

On 11/17/20 5:44 PM, Alex Bennée wrote:
> 
> Hi,
> 
> I've been asked what the state of ITS support is for emulation. The
> documentation explicitly states that there is currently no ITS support
> under TCG.
effectively it is not supported.
> 
> Looking at the code it looks like there was a deliberate attempt to
> separate common and KVM related code. Currently the only realizable
> device (via its_class_name) is the TYPE_KVM_ARM_ITS device with a
> comment saying emulation is "not implemented yet". My question is what
> is left to do?
> 
>   - do we just need a wrapper akin to arm_gicv3_its_kvm.c?
>   - do we need to implement more logic normally carried out in KVM?
You definitively need plenty of logic implemented in KVM:
arch/arm64/kvm/vgic/vgic-its.c.  implement all the ITS commands sent
through the command queue. implement all the translation logic that
takes as input an eventid/deviceid into an lpi id. This translation
logic uses several tables populated by the commands: the device table,
the collection table and interrupt translation table. Configuration and
status of LPIs are stored in other tables. So yes that's a huge work and
amount of code I think. There are KVM unit tests usable for incremental
testing.

Thanks

Eric
> 
> Thanks,
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]