mbox series

[Xen-devel,00/17] ARM: vGIC: prepare for splitting the vGIC code

Message ID 20180309151133.31371-1-andre.przywara@linaro.org
Headers show
Series ARM: vGIC: prepare for splitting the vGIC code | expand

Message

Andre Przywara March 9, 2018, 3:11 p.m. UTC
To get away from that scary xx/57 number in the new vGIC series, these
are the first few patches split off. They prepare the existing Xen code
to better observe the split between the vGIC emulation and the physical
GIC driver.
This affects the first 20 patches from the new vGIC series. Most of them
have already been ACKed. Exceptions are:
- Patch 01/57 has been merged already.
- Patch 04/57 has been dropped, the one #define left has been moved into
  patch 03/17 here. I dropped Julien's ACK because of that.
- Patch 15/57 has been dropped, we don't need it anymore in the new vGIC.
- Patches 07, 08, 09 and 14/17 were changed according to the review comments on
  patches 09, 10, 11 and 17/57, respectively.

Every patch has been compile tested on arm and arm64, also the end result
has been briefly tested with two guests on a Juno(arm64) and Midway(arm)
platform.

A branch with those patches is available at the new-vgic/prep branch at:
git://linux-arm.org/xen-ap.git
http://www.linux-arm.org/git?p=xen-ap.git;a=shortlog;h=refs/heads/vgic-new/prep

Cheers,
Andre

Andre Przywara (17):
  ARM: vGICv3: clarify on GUEST_GICV3_RDIST_REGIONS symbol
  ARM: GICv3: use hardware GICv3 redistributor values for Dom0
  ARM: vGICv3: always use architected redist stride
  ARM: vGICv3: remove rdist_stride from VGIC structure
  ARM: VGIC: rename gic_inject() and gic_clear_lrs()
  ARM: VGIC: Move gic_remove_from_lr_pending() prototype
  ARM: VGIC: Adjust domain_max_vcpus() to be VGIC specific
  ARM: VGIC: rename gic_event_needs_delivery()
  ARM: VGIC: change to level-IRQ compatible IRQ injection interface
  ARM: VGIC: carve out struct vgic_cpu and struct vgic_dist
  ARM: VGIC: reorder prototypes in vgic.h
  ARM: VGIC: Introduce gic_get_nr_lrs()
  ARM: GICv3: rename HYP interface definitions to use ICH_ prefix
  ARM: Implement vcpu_kick()
  ARM: GICv2: introduce gicv2_poke_irq()
  ARM: GICv3: poke_irq: make RWP optional
  ARM: GICv2: fix GICH_V2_LR definitions

 xen/arch/arm/domain.c             |  24 +++----
 xen/arch/arm/gic-v2.c             |  20 +++---
 xen/arch/arm/gic-v3-lpi.c         |   2 +-
 xen/arch/arm/gic-v3.c             |  82 ++++++++++-----------
 xen/arch/arm/gic-vgic.c           |  30 +++++---
 xen/arch/arm/irq.c                |   2 +-
 xen/arch/arm/time.c               |   2 +-
 xen/arch/arm/traps.c              |   4 +-
 xen/arch/arm/vgic-v3.c            |  40 +++++------
 xen/arch/arm/vgic.c               |  64 ++++++++++-------
 xen/arch/arm/vpl011.c             |   2 +-
 xen/arch/arm/vtimer.c             |   4 +-
 xen/include/asm-arm/domain.h      |  93 +++---------------------
 xen/include/asm-arm/event.h       |   2 +-
 xen/include/asm-arm/gic.h         |  14 ++--
 xen/include/asm-arm/gic_v3_defs.h |  54 +++++++-------
 xen/include/asm-arm/vgic.h        | 146 +++++++++++++++++++++++++++++++-------
 xen/include/public/arch-arm.h     |   1 -
 18 files changed, 315 insertions(+), 271 deletions(-)

Comments

Julien Grall March 12, 2018, 12:08 p.m. UTC | #1
Hi,

I have committed all the patches except #8 and #14 as I had some 
comments on them.

45 patches to go before finishing the vGIC :).

Thank you,

On 09/03/18 15:11, Andre Przywara wrote:
> To get away from that scary xx/57 number in the new vGIC series, these
> are the first few patches split off. They prepare the existing Xen code
> to better observe the split between the vGIC emulation and the physical
> GIC driver.
> This affects the first 20 patches from the new vGIC series. Most of them
> have already been ACKed. Exceptions are:
> - Patch 01/57 has been merged already.
> - Patch 04/57 has been dropped, the one #define left has been moved into
>    patch 03/17 here. I dropped Julien's ACK because of that.
> - Patch 15/57 has been dropped, we don't need it anymore in the new vGIC.
> - Patches 07, 08, 09 and 14/17 were changed according to the review comments on
>    patches 09, 10, 11 and 17/57, respectively.
> 
> Every patch has been compile tested on arm and arm64, also the end result
> has been briefly tested with two guests on a Juno(arm64) and Midway(arm)
> platform.
> 
> A branch with those patches is available at the new-vgic/prep branch at:
> git://linux-arm.org/xen-ap.git
> http://www.linux-arm.org/git?p=xen-ap.git;a=shortlog;h=refs/heads/vgic-new/prep
> 
> Cheers,
> Andre
> 
> Andre Przywara (17):
>    ARM: vGICv3: clarify on GUEST_GICV3_RDIST_REGIONS symbol
>    ARM: GICv3: use hardware GICv3 redistributor values for Dom0
>    ARM: vGICv3: always use architected redist stride
>    ARM: vGICv3: remove rdist_stride from VGIC structure
>    ARM: VGIC: rename gic_inject() and gic_clear_lrs()
>    ARM: VGIC: Move gic_remove_from_lr_pending() prototype
>    ARM: VGIC: Adjust domain_max_vcpus() to be VGIC specific
>    ARM: VGIC: rename gic_event_needs_delivery()
>    ARM: VGIC: change to level-IRQ compatible IRQ injection interface
>    ARM: VGIC: carve out struct vgic_cpu and struct vgic_dist
>    ARM: VGIC: reorder prototypes in vgic.h
>    ARM: VGIC: Introduce gic_get_nr_lrs()
>    ARM: GICv3: rename HYP interface definitions to use ICH_ prefix
>    ARM: Implement vcpu_kick()
>    ARM: GICv2: introduce gicv2_poke_irq()
>    ARM: GICv3: poke_irq: make RWP optional
>    ARM: GICv2: fix GICH_V2_LR definitions
> 
>   xen/arch/arm/domain.c             |  24 +++----
>   xen/arch/arm/gic-v2.c             |  20 +++---
>   xen/arch/arm/gic-v3-lpi.c         |   2 +-
>   xen/arch/arm/gic-v3.c             |  82 ++++++++++-----------
>   xen/arch/arm/gic-vgic.c           |  30 +++++---
>   xen/arch/arm/irq.c                |   2 +-
>   xen/arch/arm/time.c               |   2 +-
>   xen/arch/arm/traps.c              |   4 +-
>   xen/arch/arm/vgic-v3.c            |  40 +++++------
>   xen/arch/arm/vgic.c               |  64 ++++++++++-------
>   xen/arch/arm/vpl011.c             |   2 +-
>   xen/arch/arm/vtimer.c             |   4 +-
>   xen/include/asm-arm/domain.h      |  93 +++---------------------
>   xen/include/asm-arm/event.h       |   2 +-
>   xen/include/asm-arm/gic.h         |  14 ++--
>   xen/include/asm-arm/gic_v3_defs.h |  54 +++++++-------
>   xen/include/asm-arm/vgic.h        | 146 +++++++++++++++++++++++++++++++-------
>   xen/include/public/arch-arm.h     |   1 -
>   18 files changed, 315 insertions(+), 271 deletions(-)
>