Hello, There were a couple of issues with GICv3 ITS implementation in Xen. From user perspective it looks like no interrupts are delivered. I observed those issues when experimented with SR-IOV on Renesas S4 board. In my case it wasn't a 100% reproducible issue, so it took some time and couple of tries to fix it. I wasn't sure if my fix addressed some hardware quirks of S4 board or it was a generic solution, so I postponed publishing of it.
Later, Stewart Hildebrand had very simmilar issues with his setup. I shared those 3 patches with him and they fixed his issue as well. So, I believe we need those changes in Xen mainline. Second patch ("ARM: GICv3 ITS: do not invalidate memory while sending a command") is not strictly required, as it just provides a small optimization, but I believe it would be nice to have it in the code base. Volodymyr Babchuk (3): ARM: GICv3 ITS: issue INVALL command after mapping host events ARM: GICv3 ITS: do not invalidate memory while sending a command ARM: GICv3 ITS: flush all buffers, not just command queue xen/arch/arm/gic-v3-its.c | 27 ++++++++++++++++++++++----- xen/arch/arm/include/asm/gic_v3_its.h | 2 +- 2 files changed, 23 insertions(+), 6 deletions(-) -- 2.42.0