[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 00/12] ARM: VGIC/GIC separation cleanups
By the original VGIC design, Xen differentiates between the actual VGIC emulation on one hand and the GIC hardware accesses on the other. It seems there were some deviations from that scheme (over time?), so at the moment we end up happily accessing VGIC specific data structures like struct pending_irq and struct vgic_irq_rank from pure GIC files like gic.c or even irq.c (try: git grep -l struct\ pending_irq xen/arch/arm). But any future VGIC rework will depend on a clean separation, so this series tries to clean this up. It starts with some rather innocent patches, reaches its peak with the ugly patch 5/12 and the heavy 6/12, and calms down in the rest of the series again. After this series there are no more references to VGIC structures from GIC files, at least for non-ITS code. The ITS is a beast own its own (blame the author) and will be addressed later. This is a first shot, any ideas on improvements are welcome. Cheers, Andre. Andre Przywara (12): ARM: remove unneeded gic.h inclusions ARM: vGIC: fix nr_irq definition ARM: VGIC: remove gic_clear_pending_irqs() ARM: VGIC: move gic_remove_irq_from_queues() ARM: VGIC: move gic_remove_from_lr_pending() ARM: VGIC: streamline gic_restore_pending_irqs() ARM: VGIC: split gic.c to observe hardware/virtual GIC separation ARM: VGIC: split up gic_dump_info() to cover virtual part separately ARM: VGIC: rework events_need_delivery() ARM: VGIC: factor out vgic_connect_hw_irq() ARM: VGIC: factor out vgic_get_hw_irq_desc() ARM: VGIC: rework gicv[23]_update_lr to not use pending_irq xen/arch/arm/Makefile | 1 + xen/arch/arm/domain.c | 2 + xen/arch/arm/domain_build.c | 1 - xen/arch/arm/gic-v2.c | 14 +- xen/arch/arm/gic-v3.c | 12 +- xen/arch/arm/gic-vgic.c | 442 +++++++++++++++++++++++++++++++++++ xen/arch/arm/gic.c | 430 +--------------------------------- xen/arch/arm/irq.c | 9 +- xen/arch/arm/p2m.c | 1 - xen/arch/arm/platforms/vexpress.c | 1 - xen/arch/arm/platforms/xgene-storm.c | 1 - xen/arch/arm/time.c | 1 - xen/arch/arm/traps.c | 3 +- xen/arch/arm/vgic-v3-its.c | 6 +- xen/arch/arm/vgic.c | 46 +++- xen/arch/arm/vpsci.c | 1 - xen/arch/arm/vtimer.c | 1 - xen/include/asm-arm/event.h | 13 +- xen/include/asm-arm/gic.h | 9 +- xen/include/asm-arm/irq.h | 2 +- xen/include/asm-arm/vgic.h | 10 + 21 files changed, 534 insertions(+), 472 deletions(-) create mode 100644 xen/arch/arm/gic-vgic.c -- 2.14.1 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |