Hi Mykyta,
This patch is far too big to review. Can this be split in smaller
logical change? The same goes for patch #3.
But some high level remarks.
On 25/10/2023 11:13, Mykyta Poturai wrote:
Add GICv3 ITS support for NEW VGIC. The code is ported from the Kernel
version 6.0. The code is adapted to Xen's coding style and hooked up
with Xen's interfaces. The code is adapted to Xen coding style and
conventions.
For this version ITS is supported only for hardware domains.
Remove unsupported flag from config HAS_ITS and add NEW_VGIC dependency.
Even if the code is based on Linux, you are adding a branch new vGIC v3
ITS implementation. So I don't think we should remove 'UNSUPPORTED' as
it would imply it is production ready.
Also, AFAICT, the new version of 'depends on' means we will not be able
to use GICv3 ITS with the current vGIC. Can you explain why?
Signed-off-by: Mykyta Poturai <mykyta_potu...@epam.com>
---
xen/arch/arm/Kconfig | 4 +-
xen/arch/arm/gic-v3-its.c | 28 +
xen/arch/arm/gic-v3-lpi.c | 11 +
Looking at the change, you mainly add #ifdef in the code. The goal of
gic-v3-lpi.c was to be agnostic from the different vGIC. So please
abstract it.
xen/arch/arm/include/asm/gic_v3_its.h | 82 ++
xen/arch/arm/include/asm/new_vgic.h | 64 +
xen/arch/arm/vgic/Makefile | 1 +
xen/arch/arm/vgic/vgic-init.c | 7 +
xen/arch/arm/vgic/vgic-its.c | 1945 +++++++++++++++++++++++++
xen/arch/arm/vgic/vgic-mmio-v3.c | 93 +-
xen/arch/arm/vgic/vgic-mmio.c | 6 +
xen/arch/arm/vgic/vgic-mmio.h | 11 +
Cheers,
--
Julien Grall