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

[Xen-devel] [PATCH v2 00/16] Interrupt management reworking



Hello,

This is the second version of this series to rework interrupt management.

Compare to the RFC sent a couple of months ago, I took a different approach
for handling multiple action per IRQ. If the driver wants to use this feature,
it has to explicitely request it by passing the flag IRQ_SHARED to the
newly created functions ({request,setup}_irq_flags). This will prevent
developpers to mix the interrupt by mistake.

While I was working on it, I also took time to rework the interrupt management
to:
    - Make distinction between GIC and IRQ management
    - Drop {request,setup}_dt_irq which is ARM specific and use the
    common one
    - Merge route and setup IRQ functions
    - Improve error checking

Having generic IRQ function will avoid ifdery in driver code and will hopefully
help to port new feature such as ACPI.

This series is a dependencies for the ARM SMMU drivers (the V2 will be sent
soon.

A working tree can be found here:
    git://xenbits.xen.org/people/julieng/xen-unstable.git branch 
interrupts-mgmt-v2

Sincerely yours,

Julien Grall (16):
  xen/arm: timer: replace timer_dt_irq by timer_get_irq
  xen/arm: IRQ: Use default irq callback from common code for
    no_irq_type
  xen/arm: IRQ: Rename irq_cfg into arch_irq_desc
  xen/arm: IRQ: move gic {,un}lock in gic_set_irq_properties
  xen/arm: IRQ: drop irq parameter in __setup_irq
  xen/arm: IRQ: remove __init from setup_dt_irq, request_dt_irq and
    release_irq
  xen/arm: IRQ: Move IRQ management from gic.c to irq.c
  xen/arm: IRQ Introduce irq_get_domain
  xen/arm: IRQ: Add lock contrainst for gic_irq_{startup,shutdown}
  xen/arm: IRQ: Don't need to have a specific function to route IRQ to
    Xen
  xen/arm: IRQ: Protect IRQ to be shared between domains and XEN
  xen/serial: remove serial_dt_irq
  xen/arm: IRQ: Store IRQ type in arch_irq_desc
  xen/arm: IRQ: Replace {request,setup}_dt_irq by {request,setup}_irq
  xen: IRQ: Add dev_id parameter to release_irq
  xen/arm: IRQ: Handle multiple action per IRQ

 xen/arch/arm/domain_build.c        |   32 ++--
 xen/arch/arm/gic.c                 |  245 +++++++--------------------
 xen/arch/arm/irq.c                 |  321 +++++++++++++++++++++++++++++++++---
 xen/arch/arm/setup.c               |    5 +-
 xen/arch/arm/smpboot.c             |    2 -
 xen/arch/arm/time.c                |   41 ++---
 xen/arch/arm/vtimer.c              |    4 +-
 xen/arch/x86/irq.c                 |    2 +-
 xen/common/irq.c                   |    3 +
 xen/drivers/char/exynos4210-uart.c |   22 +--
 xen/drivers/char/ns16550.c         |   28 +---
 xen/drivers/char/omap-uart.c       |   22 +--
 xen/drivers/char/pl011.c           |   23 +--
 xen/drivers/char/serial.c          |    9 -
 xen/include/asm-arm/config.h       |    2 +
 xen/include/asm-arm/gic.h          |   16 +-
 xen/include/asm-arm/irq.h          |   19 ++-
 xen/include/asm-arm/time.h         |    7 +-
 xen/include/xen/irq.h              |   10 +-
 xen/include/xen/serial.h           |    5 -
 20 files changed, 462 insertions(+), 356 deletions(-)

-- 
1.7.10.4


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