|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH-4.5 v2 0/10] remove maintenance interrupts
Hi all,
this patch series removes any needs for maintenance interrupts for both
hardware and software interrupts in Xen.
It achieves the goal by using the GICH_LR_HW bit for hardware interrupts
and by checking the status of the GICH_LR registers on return to guest,
clearing the registers that are invalid and handling the lifecycle of
the corresponding interrupts in Xen data structures.
Changes in v2:
- do not assume physical IRQ == virtual IRQ;
- refactor gic_set_lr;
- simplify gic_clear_lrs;
- disable/enable the GICH_HCR_UIE bit in GICH_HCR;
- only enable GICH_HCR_UIE if this_cpu(lr_mask) == ((1 << nr_lrs) - 1);
- add a patch to keep track of the LR number in pending_irq;
- add a patch to set GICH_LR_PENDING to inject a second irq while the
first one is still active;
- add a patch to simplify and reduce the usage of gic.lock;
- add a patch to reduce the usage of vgic.lock;
- add a patch to use GICH_ELSR[01] to avoid reading all the GICH_LRs in
gic_clear_lrs;
- add a debug patch to print more info in gic_dump_info.
Stefano Stabellini (10):
xen/arm: remove unused virtual parameter from vgic_vcpu_inject_irq
xen/arm: support HW interrupts in gic_set_lr
xen/arm: do not request maintenance_interrupts
xen/arm: set GICH_HCR_NPIE if all the LRs are in use
xen/arm: keep track of the GICH_LR used for the irq in struct pending_irq
xen/arm: second irq injection while the first irq is still inflight
xen/arm: don't protect GICH and lr_queue accesses with gic.lock
xen/arm: avoid taking unconditionally the vgic.lock in gic_clear_lrs
xen/arm: use GICH_ELSR[01] to avoid reading all the GICH_LRs in
gic_clear_lrs
xen/arm: print more info in gic_dump_info, keep gic_lr sync'ed
xen/arch/arm/domain.c | 2 +-
xen/arch/arm/gic.c | 216
+++++++++++++++++++++++++++++--------------------------
xen/arch/arm/irq.c | 2 +-
xen/arch/arm/time.c | 2 +-
xen/arch/arm/vgic.c | 34 ++++++---
xen/arch/arm/vtimer.c | 4 +-
xen/include/asm-arm/domain.h | 1 +
xen/include/asm-arm/gic.h | 4 +-
8 files changed, 151 insertions(+), 114 deletions(-)
git://xenbits.xen.org/people/sstabellini/xen-unstable.git
no_maintenance_interrupts-v2
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |