Hello! > This patch includes a placeholder code for future spi and its > implementation.
Forgot to comment on this. I see that here you are building an ITS into GIC as a monolithic thing. This can be wrong because we could want to emulate platforms which have GICv3 but don't have ITS. I would suggest to implement ITS as a separate class, and i have actually done it in http://lists.nongnu.org/archive/html/qemu-devel/2015-10/msg04613.html. So, i think we should not bother about ITS for now and suggest you to leave it out completely and focus on pure GICv3. Even more, i have software-emulated ITS code in one of my abandoned branches, it lacks only GICv3's ability to receive LPIs (which is indeed GIC's functionality). After you're done with GIC, i could rebase it on top and post at least as an RFC. May be i'll complete it myself, may be you'll want to pick it up, i don't know. Actually, it works with Linux kernel and successfully translates an MSI event into LPI number, which is then injected into the GIC object. Just it's GIC missing the appropriate LPI hanlders. I wrote it when there was no in-kernel vITS implementation, but abandoned when vITS patch series was published. Kind regards, Pavel Fedin Expert Engineer Samsung Electronics Research center Russia