[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [RFC 00/22] 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 GIC v2 (i.e GICC and GICV). That will allow us to re-use same vGIC drivers. 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. The series is divided as follow: - #1...#2: vGIC clean up - #3...#5: GICv3 clean up - #6..#10: GICv2 clean up - #11.#15: Hip04 clean up. Based on the GICv2 patches #6..#10 - #16.#20: Dissociate vGIC and GIC drivers. The vGIC could be use with any drivers now. - #21 : Allow the user to choose the GIC version emulated for the guest - #22 : Add support of GICv2 on GICv3 It has been tested on the ARMv8 Foundation Model with GICv2 and GICv3 and changing the vGIC version emulated for the guest (only for 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 Note that there is one patch more due to dependency on another series [1]. Comments, suggestion, testing are welcomed. Sincerely yours, Julien Grall (22): xen/arm: vGIC: Export vgic_vN ops rather than add an indirection 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 print message at initialization xen/arm: gic-v2: Remove redundant check in gicv2_init xen/arm: gic-v2: Use SZ_64K rather than our custom value xen/arm: gic-v2: Use SZ_4K rather than PAGE_SIZE xen/arm: gic-v2: Allow the base address to be 0 xen/arm: gic-v2: Remove hbase from the global state xen/arm: gic-hip04: Remove redundant check in hip04gic_init xen/arm: gic-hip04: Use SZ_64K rather than a custom operation xen/arm: gic-hip04: Use SZ_4K rather than PAGE_SIZE xen/arm: gic-hip04: Allow the base address to be 0 xen/arm: gic-hip04: Remove hbase from the global state xen/arm: gic-v2: Move GICD, GICC and GICV base address in gic_info ... xen/arm: gic-hip04: Move GICD, GICC and GICV base address in gic_info ... xen/arm: gic-v3: Move Distributor and Re-Distributors info in gic_info ... xen/arm: Merge gicv_setup with vgic_domain_init xen/arm: gic: Expose the vGIC versions suported by GIC arm: Allow the user to specify the GIC version xen/arm: gic-v3: Add support of vGICv2 when available tools/libxl/libxl.h | 6 ++ tools/libxl/libxl_arm.c | 16 ++- tools/libxl/libxl_types.idl | 10 +- tools/libxl/xl_cmdimpl.c | 12 +++ xen/arch/arm/domain.c | 48 +++++---- xen/arch/arm/gic-hip04.c | 93 +++++------------ xen/arch/arm/gic-v2.c | 93 +++++------------ xen/arch/arm/gic-v3.c | 232 ++++++++++++++++++++----------------------- xen/arch/arm/gic.c | 10 +- xen/arch/arm/vgic-v2.c | 51 ++++++++-- xen/arch/arm/vgic-v3.c | 65 ++++++++++-- xen/arch/arm/vgic.c | 25 +++-- xen/include/asm-arm/domain.h | 3 +- xen/include/asm-arm/gic.h | 25 ++++- xen/include/asm-arm/vgic.h | 9 +- 15 files changed, 371 insertions(+), 327 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 |