X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Fasm-ppc%2Fopen_pic.h;h=ec2f46629ca28ea177090589d972ed35e07cf95c;hb=64ba3f394c830ec48a1c31b53dcae312c56f1604;hp=df14f8650ab03937c0daef6c573778f66096cd29;hpb=5273a3df6485dc2ad6aa7ddd441b9a21970f003b;p=linux-2.6.git diff --git a/include/asm-ppc/open_pic.h b/include/asm-ppc/open_pic.h index df14f8650..ec2f46629 100644 --- a/include/asm-ppc/open_pic.h +++ b/include/asm-ppc/open_pic.h @@ -23,7 +23,12 @@ #define OPENPIC_VEC_TIMER 110 /* and up */ #define OPENPIC_VEC_IPI 118 /* and up */ -#define OPENPIC_VEC_SPURIOUS 127 +#define OPENPIC_VEC_SPURIOUS 255 + +/* Priorities */ +#define OPENPIC_PRIORITY_IPI_BASE 10 +#define OPENPIC_PRIORITY_DEFAULT 4 +#define OPENPIC_PRIORITY_NMI 9 /* OpenPIC IRQ controller structure */ extern struct hw_interrupt_type open_pic; @@ -35,12 +40,14 @@ extern struct hw_interrupt_type open_pic_ipi; extern u_int OpenPIC_NumInitSenses; extern u_char *OpenPIC_InitSenses; -extern void* OpenPIC_Addr; +extern void __iomem * OpenPIC_Addr; +extern int epic_serial_mode; /* Exported functions */ -extern void openpic_set_sources(int first_irq, int num_irqs, void *isr); +extern void openpic_set_sources(int first_irq, int num_irqs, void __iomem *isr); extern void openpic_init(int linux_irq_offset); extern void openpic_init_nmi_irq(u_int irq); +extern void openpic_set_irq_priority(u_int irq, u_int pri); extern void openpic_hookup_cascade(u_int irq, char *name, int (*cascade_fn)(struct pt_regs *)); extern u_int openpic_irq(void); @@ -50,10 +57,11 @@ extern void do_openpic_setup_cpu(void); extern int openpic_get_irq(struct pt_regs *regs); extern void openpic_reset_processor_phys(u_int cpumask); extern void openpic_setup_ISU(int isu_num, unsigned long addr); -extern void openpic_cause_IPI(u_int ipi, u_int cpumask); -extern void smp_openpic_message_pass(int target, int msg, unsigned long data, - int wait); +extern void openpic_cause_IPI(u_int ipi, cpumask_t cpumask); +extern void smp_openpic_message_pass(int target, int msg); extern void openpic_set_k2_cascade(int irq); +extern void openpic_set_priority(u_int pri); +extern u_int openpic_get_priority(void); extern inline int openpic_to_irq(int irq) {