All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC 00/22] xen/arm: Add support for GICv2 on GICv3
@ 2015-05-08 13:29 Julien Grall
  2015-05-08 13:29 ` [RFC 01/22] xen/arm: vGIC: Export vgic_vN ops rather than add an indirection Julien Grall
                   ` (22 more replies)
  0 siblings, 23 replies; 57+ messages in thread
From: Julien Grall @ 2015-05-08 13:29 UTC (permalink / raw)
  To: xen-devel; +Cc: Julien Grall, stefano.stabellini, tim, ian.campbell

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

^ permalink raw reply	[flat|nested] 57+ messages in thread

end of thread, other threads:[~2015-06-25 15:38 UTC | newest]

Thread overview: 57+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-05-08 13:29 [RFC 00/22] xen/arm: Add support for GICv2 on GICv3 Julien Grall
2015-05-08 13:29 ` [RFC 01/22] xen/arm: vGIC: Export vgic_vN ops rather than add an indirection Julien Grall
2015-06-05 12:08   ` Ian Campbell
2015-05-08 13:29 ` [RFC 02/22] xen/arm: vGIC: Check return of the domain_init callback Julien Grall
2015-06-05 12:08   ` Ian Campbell
2015-05-08 13:29 ` [RFC 03/22] xen/arm: gic-v3: Fix the distributor region to 64kB Julien Grall
2015-06-05 12:14   ` Ian Campbell
2015-06-05 12:56     ` Julien Grall
2015-06-05 13:29       ` Ian Campbell
2015-06-05 14:11         ` Julien Grall
2015-05-08 13:29 ` [RFC 04/22] xen/arm: gic-v3: Use the domain redistributor information to make the DT node Julien Grall
2015-06-05 12:15   ` Ian Campbell
2015-06-05 13:15     ` Julien Grall
2015-05-08 13:29 ` [RFC 05/22] xen/arm: gic-v3: Rework the print message at initialization Julien Grall
2015-06-05 12:18   ` Ian Campbell
2015-06-05 15:13     ` Julien Grall
2015-05-08 13:29 ` [RFC 06/22] xen/arm: gic-v2: Remove redundant check in gicv2_init Julien Grall
2015-06-05 12:18   ` Ian Campbell
2015-05-08 13:29 ` [RFC 07/22] xen/arm: gic-v2: Use SZ_64K rather than our custom value Julien Grall
2015-06-05 12:20   ` Ian Campbell
2015-05-08 13:29 ` [RFC 08/22] xen/arm: gic-v2: Use SZ_4K rather than PAGE_SIZE Julien Grall
2015-06-05 12:23   ` Ian Campbell
2015-06-05 15:23     ` Julien Grall
2015-05-08 13:29 ` [RFC 09/22] xen/arm: gic-v2: Allow the base address to be 0 Julien Grall
2015-06-05 12:24   ` Ian Campbell
2015-05-08 13:29 ` [RFC 10/22] xen/arm: gic-v2: Remove hbase from the global state Julien Grall
2015-06-05 12:24   ` Ian Campbell
2015-05-08 13:29 ` [RFC 11/22] xen/arm: gic-hip04: Remove redundant check in hip04gic_init Julien Grall
2015-06-05 12:24   ` Ian Campbell
2015-06-05 12:26     ` Ian Campbell
2015-06-05 15:29       ` Julien Grall
2015-06-05 15:40         ` Ian Campbell
2015-05-08 13:29 ` [RFC 12/22] xen/arm: gic-hip04: Use SZ_64K rather than a custom operation Julien Grall
2015-05-08 13:29 ` [RFC 13/22] xen/arm: gic-hip04: Use SZ_4K rather than PAGE_SIZE Julien Grall
2015-05-08 13:29 ` [RFC 14/22] xen/arm: gic-hip04: Allow the base address to be 0 Julien Grall
2015-05-08 13:29 ` [RFC 15/22] xen/arm: gic-hip04: Remove hbase from the global state Julien Grall
2015-05-08 13:29 ` [RFC 16/22] xen/arm: gic-v2: Move GICD, GICC and GICV base address in gic_info Julien Grall
2015-06-05 12:33   ` Ian Campbell
2015-05-08 13:29 ` [RFC 17/22] xen/arm: gic-hip04: " Julien Grall
2015-05-08 13:29 ` [RFC 18/22] xen/arm: gic-v3: Move Distributor and Re-Distributors info " Julien Grall
2015-05-08 13:29 ` [RFC 19/22] xen/arm: Merge gicv_setup with vgic_domain_init Julien Grall
2015-06-05 12:34   ` Ian Campbell
2015-05-08 13:29 ` [RFC 20/22] xen/arm: gic: Expose the vGIC versions suported by GIC Julien Grall
2015-05-08 13:48   ` Julien Grall
2015-06-05 12:35   ` Ian Campbell
2015-06-05 17:59     ` Julien Grall
2015-06-08 10:01       ` Ian Campbell
2015-05-08 13:29 ` [RFC 21/22] arm: Allow the user to specify the GIC version Julien Grall
2015-06-05 12:42   ` Ian Campbell
2015-06-05 16:00     ` Julien Grall
2015-06-05 16:40       ` Ian Campbell
2015-05-08 13:29 ` [RFC 22/22] xen/arm: gic-v3: Add support of vGICv2 when available Julien Grall
2015-06-05 12:48   ` Ian Campbell
2015-06-05 16:35     ` Julien Grall
2015-06-08 10:01       ` Ian Campbell
2015-06-25 15:38         ` Julien Grall
2015-05-13 12:41 ` [RFC 00/22] xen/arm: Add support for GICv2 on GICv3 Chen Baozi

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.