[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [v3 00/13] xen/arm: Add support for GICv2 on GICv3
Hi all, This patch series adds support for GICv2 on GICv3. This feature is available only when the GICv3 hardware is compatible with GICv2. When it's the case, the same interface is provided in order to use a virtualize GICv2 (i.e GICC and GICV). This will allow us to re-use the same vGIC driver. Currently GIC and vGIC drivers are tight because of the domain initialization splitted between GIC and vGIC. This patch series intends to remove this dependency in order to make the vGIC driver agnostic of the GIC driver. It has been tested on the ARMv8 Foundation Model with GICv2 and GICv3 as well as changing the vGIC version emulated for the guest (only on GICv3 host). A branch with all the patches can be found here: git://xenbits.xen.org/people/julieng/xen-unstable.git branch gicv2-on-gicv3-v3 All the patches as been acked except #11 and #12. For all the changes see in each patch. Sincerely yours, Tested-by: Chen Baozi <baozich@xxxxxxxxx> Cc: Zoltan Kiss <zoltan.kiss@xxxxxxxxxx> Cc: Shameerali Kolothum Thodi <shameerali.kolothum.thodi@xxxxxxxxxx> Julien Grall (13): xen/arm: Gate GICv3 change with HAS_GICV3 rather than CONFIG_ARM_64... xen/arm: gic: Rename make_dt_node into make_hwdom_dt_node xen/arm: vGIC: Check return of the domain_init callback xen/arm: gic-v3: Fix the distributor region to 64kB xen/arm: gic-v3: Use the domain redistributor information to make the DT node xen/arm: gic-v3: Rework the messages printed at initialization xen/arm: gic-{v2,hip04}: Remove redundant check in {gicv2,hip04gic}_init xen/arm: gic-{v2,hip04}: Use SZ_64K rather than our custom value xen/arm: gic: Allow the base address to be 0 xen/arm: gic-{v2,hip04}: Remove hbase from the global state xen/arm: Merge gicv_setup with vgic_domain_init arm: Allow the user to specify the GIC version xen/arm: gic-v3: Add support of vGICv2 when available config/arm64.mk | 1 + docs/man/xl.cfg.pod.5 | 29 ++++++ tools/libxl/libxl.h | 5 + tools/libxl/libxl_arm.c | 16 +++- tools/libxl/libxl_types.idl | 11 +++ tools/libxl/xl_cmdimpl.c | 12 +++ xen/arch/arm/Makefile | 2 +- xen/arch/arm/Rules.mk | 2 + xen/arch/arm/domain.c | 48 +++++----- xen/arch/arm/domain_build.c | 2 +- xen/arch/arm/gic-hip04.c | 90 +++++------------- xen/arch/arm/gic-v2.c | 90 +++++------------- xen/arch/arm/gic-v3.c | 191 +++++++++++++++++--------------------- xen/arch/arm/gic.c | 12 +-- xen/arch/arm/vgic-v2.c | 69 +++++++++++++- xen/arch/arm/vgic-v3.c | 86 ++++++++++++++++- xen/arch/arm/vgic.c | 11 ++- xen/include/asm-arm/domain.h | 5 +- xen/include/asm-arm/gic.h | 15 +-- xen/include/asm-arm/gic_v3_defs.h | 7 ++ xen/include/asm-arm/vgic.h | 10 ++ 21 files changed, 426 insertions(+), 288 deletions(-) -- 2.1.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |