• Jeremy Fitzhardinge's avatar
    xen: event channels · e46cdb66
    Jeremy Fitzhardinge authored
    Xen implements interrupts in terms of event channels.  Each guest
    domain gets 1024 event channels which can be used for a variety of
    purposes, such as Xen timer events, inter-domain events,
    inter-processor events (IPI) or for real hardware IRQs.
    
    Within the kernel, we map the event channels to IRQs, and implement
    the whole interrupt handling using a Xen irq_chip.
    
    Rather than setting NR_IRQ to 1024 under PARAVIRT in order to
    accomodate Xen, we create a dynamic mapping between event channels and
    IRQs.  Ideally, Linux will eventually move towards dynamically
    allocating per-irq structures, and we can use a 1:1 mapping between
    event channels and irqs.
    Signed-off-by: default avatarJeremy Fitzhardinge <jeremy@xensource.com>
    Signed-off-by: default avatarChris Wright <chrisw@sous-sol.org>
    Cc: Ingo Molnar <mingo@elte.hu>
    Cc: Eric W. Biederman <ebiederm@xmission.com>
    e46cdb66
events.c 12 KB