|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v9a 0/6] GIC and VGIC code refactoring
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.
The complete GICv3 patch series
"[PATCH v5 00/21] xen/arm: Add GICv3 support" is split
into two patch series version v6a and v6.
The first 8 patches of v6a/v7a series are merged. Hence
posting remaining 6 patches here.
Tested with ARM64 simulator with multicore core
and booted Dom0 kernel.
Major changes in v9a:
- Added check on return value of vgic_v2_init()
- Removed VGIC SGI handling callback
- Removed check VCPU value before calling is_vcpu_online()
Major changes in v8a:
- is_vcpu_online() is modified to take only vcpu as
parameter and validity checks on vcpu is done in
caller.
- set vcpu_mask to 0 for SGI_TARGET_{OTHERS,SELF} modes
made vgic-v2 mmio handler static
Major changes in v7a:
- Made changes to send_SGI() to pass NULL as cpu_mask for
sgi modes which does not require cpu mask
- Renamed update_cpu_lr_mask() clear_cpu_lr_mask()
- used writeb_relaxed() to access ITARGETR & IPRIORITYR
registers
Major changes in v6a:
- Changed send_SGI parameters ordering
- coding styles and missing comments
- New patch (17) to check for idle domain before saving GIC context
- Introduced new callback in vgic handler for handling SGI
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
Vijaya Kumar K (6):
xen/arm: move and rename 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: Restrict saving of gic register for idle domain
xen/arch/arm/Makefile | 2 +-
xen/arch/arm/gic.c | 3 +
xen/arch/arm/vgic-v2.c | 506 +++++++++++++++++++++++++++++++++++++
xen/arch/arm/vgic.c | 522 +++++----------------------------------
xen/include/asm-arm/domain.h | 59 +----
xen/include/asm-arm/gic.h | 5 +-
xen/include/asm-arm/processor.h | 8 +
xen/include/asm-arm/vgic.h | 79 +++++-
xen/include/xen/sched.h | 5 +
9 files changed, 668 insertions(+), 521 deletions(-)
create mode 100644 xen/arch/arm/vgic-v2.c
--
1.7.9.5
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |