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