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

Re: [Xen-devel] [PATCH v5 00/21] xen/arm: Add GICv3 support



On Thu, 12 Jun 2014, vijay.kilari@xxxxxxxxx wrote:
> From: Vijaya Kumar K <Vijaya.Kumar@xxxxxxxxxxxxxxxxxx>
> 
> Made changes to existing gic and vgic drivers
> to make it generic and added support for GIC v3
> hw version
> 
> Tested with ARM64 simulator with multicore core
> and booted Dom0 kernel.

FYI I tested this series on Midway and it doesn't introduce any
regressions.


> Major changes in v5:
>  - Introduced new patch for checking platform capability for gicv3
>  - Introduced more patches for vgic clean up and code movement
>  - Added synchronization barriers and clean up in GICv3 driver
>  - Rebase on top of master branch +
>    remotes/origin/no_maintenance_interrupts-v8 patch set
>  - Code base available in github
>    git clone https://github.com/vijaykilari/Xen-GICv3.git
>  - Fixed comments and coding style
> 
> Major changes in v4:
>  - Changed io handlers to take mmio address and size as
>    parameters
>  - ioremap is used instead of fixmap to map GICv2 address
>    space. Removed /4 in GICv2 register definitions
>  - vGIC driver now uses register size to calculate IRQ rank
>  - GICv2 LR register definitions are declared locally in GICv2 driver
>  - GICR & GICD common register handling in vgic-v3 driver are segregated
>    in one common function
>  - irq_hw_controller definition is managed in GICv2 and GICv3 drivers
>  - Made irq_ops const
>  - GIC DT node is updated in respective drivers
>  - Comments and coding style fixes
>  - Rebased on remotes/origin/no_maintenance_interrupts-v8 + Julien's
>    patch set
> 
> Major changes in v3:
>  - Moved io.h from xen/arch/arm to xen/include/asm-arm
>    and renamed as mmio.h
>  - Made all the io handlers as domain specific and removed
>    check handlers. Instead address and size are passed
>  - Cleaned up sgi handling functions in V2 gic driver and
>    made generic
>  - Removed unused parameters in do_sgi call
>  - VGIC driver is chosen based on GIC driver initialized
>  - Implemented SGI handling for GICv3 to boot multicore
>  - Missing coding style fixes
>  - Rebased to remotes/origin/no_maintenance_interrupts-v6
>    branch of Stephano's unstable tree
> 
> Major Changes in v2:
>  - Added per domain io handler
>  - Use device api to initialize gic driver
>  - Avoid use of void pointer to access common data
>  - Moved vgic address information data from domain.h
>  - Coding style 
> 
> Vijaya Kumar K (21):
>   xen/arm: move io.h as mmio.h to include folder
>   xen/arm: make mmio handlers domain specific
>   xen/arm: make sgi handling generic
>   xen/arm: remove unused parameter in do_sgi call
>   xen/arm: use ioremap to map gic-v2 registers
>   xen/arm: segregate and split GIC low level functionality
>   arm/xen: move GIC context data structure to gic driver
>   xen/arm: use device api to detect GIC version
>   xen/arm: move vgic rank data to gic header file
>   xen/arm: move vgic defines to vgic header file
>   xen/arm: prefix byte_read and byte_write functions with vgic
>   xen/arm: move is_vcpu_running function to sched.h
>   xen/arm: move pending_irq structure to vgic header file
>   xen/arm: calculate vgic irq rank based on register size
>   xen/arm: Remove REG macro in vgic driver
>   xen/arm: split vgic driver into generic and vgic-v2 driver
>   xen/arm: Add support for GIC v3
>   xen/arm: Add virtual GICv3 support
>   xen/arm: Update Dom0 GIC dt node with GICv3 information
>   xen/arm: add SGI handling for GICv3
>   xen/arm: check for GICv3 platform support
> 
>  xen/arch/arm/Makefile                         |    6 +-
>  xen/arch/arm/domain.c                         |    5 +
>  xen/arch/arm/domain_build.c                   |   49 +-
>  xen/arch/arm/gic-v2.c                         |  725 +++++++++++++++
>  xen/arch/arm/gic-v3.c                         | 1234 
> +++++++++++++++++++++++++
>  xen/arch/arm/gic.c                            |  537 ++---------
>  xen/arch/arm/io.c                             |   59 +-
>  xen/arch/arm/irq.c                            |    1 +
>  xen/arch/arm/setup.c                          |    5 +-
>  xen/arch/arm/time.c                           |    1 +
>  xen/arch/arm/traps.c                          |   32 +-
>  xen/arch/arm/vgic-v2.c                        |  510 ++++++++++
>  xen/arch/arm/vgic-v3.c                        |  959 +++++++++++++++++++
>  xen/arch/arm/vgic.c                           |  574 ++----------
>  xen/arch/arm/vpsci.c                          |    1 +
>  xen/arch/arm/vtimer.c                         |    1 +
>  xen/arch/arm/vuart.c                          |   28 +-
>  xen/include/asm-arm/cpufeature.h              |    1 +
>  xen/include/asm-arm/device.h                  |    1 +
>  xen/include/asm-arm/domain.h                  |   85 +-
>  xen/include/asm-arm/gic.h                     |  274 ++++--
>  xen/include/asm-arm/gic_v3_defs.h             |  164 ++++
>  xen/{arch/arm/io.h => include/asm-arm/mmio.h} |   30 +-
>  xen/include/asm-arm/processor.h               |   27 +-
>  xen/include/asm-arm/sysregs.h                 |    3 +
>  xen/include/asm-arm/vgic.h                    |  183 ++++
>  xen/include/xen/lib.h                         |    2 +
>  xen/include/xen/sched.h                       |   16 +
>  28 files changed, 4322 insertions(+), 1191 deletions(-)
>  create mode 100644 xen/arch/arm/gic-v2.c
>  create mode 100644 xen/arch/arm/gic-v3.c
>  create mode 100644 xen/arch/arm/vgic-v2.c
>  create mode 100644 xen/arch/arm/vgic-v3.c
>  create mode 100644 xen/include/asm-arm/gic_v3_defs.h
>  rename xen/{arch/arm/io.h => include/asm-arm/mmio.h} (66%)
>  create mode 100644 xen/include/asm-arm/vgic.h
> 
> -- 
> 1.7.9.5
> 

_______________________________________________
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®.