[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH v2 00/15] 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). 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.

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 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-v2

For all the changes see in each patch.

Sincerely yours,

Cc: Chen Baozi <cbz@xxxxxxxxxx>

Julien Grall (15):
  xen/arm: Gate GICv3 change with HAS_GICV3 rather than CONFIG_ARM_64...
  xen/arm: gic: Rename the callback make_dt_node in make_hwdom_dt_node
  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,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: gic: Store the necessary HW information per vGIC ...
  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             |  27 ++++++
 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             | 192 +++++++++++++++++---------------------
 xen/arch/arm/gic.c                |  17 ++--
 xen/arch/arm/vgic-v2.c            |  54 ++++++++---
 xen/arch/arm/vgic-v3.c            |  67 ++++++++++---
 xen/arch/arm/vgic.c               |  34 ++++---
 xen/include/asm-arm/domain.h      |   5 +-
 xen/include/asm-arm/gic.h         |  17 ++--
 xen/include/asm-arm/gic_v3_defs.h |   7 ++
 xen/include/asm-arm/vgic.h        |  64 ++++++++++++-
 21 files changed, 448 insertions(+), 315 deletions(-)

-- 
2.4.3


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.