mirror of
https://github.com/torvalds/linux.git
synced 2024-12-24 20:01:55 +00:00
b4ff8389ed
After commit 8c058b0b9c
("x86/irq: Probe for PIC presence before
allocating descs for legacy IRQs") early_irq_init() will no longer
preallocate descriptors for legacy interrupts if PIC does not
exist, which is the case for Xen PV guests.
Therefore we may need to allocate those descriptors ourselves.
Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Suggested-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: David Vrabel <david.vrabel@citrix.com>
52 lines
970 B
C
52 lines
970 B
C
#ifndef __ASM_ARM_IRQ_H
|
|
#define __ASM_ARM_IRQ_H
|
|
|
|
#define NR_IRQS_LEGACY 16
|
|
|
|
#ifndef CONFIG_SPARSE_IRQ
|
|
#include <mach/irqs.h>
|
|
#else
|
|
#define NR_IRQS NR_IRQS_LEGACY
|
|
#endif
|
|
|
|
#ifndef irq_canonicalize
|
|
#define irq_canonicalize(i) (i)
|
|
#endif
|
|
|
|
/*
|
|
* Use this value to indicate lack of interrupt
|
|
* capability
|
|
*/
|
|
#ifndef NO_IRQ
|
|
#define NO_IRQ ((unsigned int)(-1))
|
|
#endif
|
|
|
|
#ifndef __ASSEMBLY__
|
|
struct irqaction;
|
|
struct pt_regs;
|
|
extern void migrate_irqs(void);
|
|
|
|
extern void asm_do_IRQ(unsigned int, struct pt_regs *);
|
|
void handle_IRQ(unsigned int, struct pt_regs *);
|
|
void init_IRQ(void);
|
|
|
|
#ifdef CONFIG_MULTI_IRQ_HANDLER
|
|
extern void (*handle_arch_irq)(struct pt_regs *);
|
|
extern void set_handle_irq(void (*handle_irq)(struct pt_regs *));
|
|
#endif
|
|
|
|
#ifdef CONFIG_SMP
|
|
extern void arch_trigger_all_cpu_backtrace(bool);
|
|
#define arch_trigger_all_cpu_backtrace(x) arch_trigger_all_cpu_backtrace(x)
|
|
#endif
|
|
|
|
static inline int nr_legacy_irqs(void)
|
|
{
|
|
return NR_IRQS_LEGACY;
|
|
}
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|