X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Fasm-ppc%2Fopen_pic.h;h=778d5726212cdbb061751f7ba3d2545be022d361;hb=97bf2856c6014879bd04983a3e9dfcdac1e7fe85;hp=38d8edb1ba7066fd5265669b83e652fc303f3ae4;hpb=9bf4aaab3e101692164d49b7ca357651eb691cb6;p=linux-2.6.git diff --git a/include/asm-ppc/open_pic.h b/include/asm-ppc/open_pic.h index 38d8edb1b..778d57262 100644 --- a/include/asm-ppc/open_pic.h +++ b/include/asm-ppc/open_pic.h @@ -12,7 +12,6 @@ #ifndef _PPC_KERNEL_OPEN_PIC_H #define _PPC_KERNEL_OPEN_PIC_H -#include #include #define OPENPIC_SIZE 0x40000 @@ -23,7 +22,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,25 +39,28 @@ 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 *)); + int (*cascade_fn)(void)); extern u_int openpic_irq(void); extern void openpic_eoi(void); extern void openpic_request_IPIs(void); extern void do_openpic_setup_cpu(void); -extern int openpic_get_irq(struct pt_regs *regs); +extern int openpic_get_irq(void); 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, cpumask_t cpumask); -extern void smp_openpic_message_pass(int target, int msg, unsigned long data, - int wait); +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) { @@ -86,6 +93,6 @@ extern void openpic2_init(int linux_irq_offset); extern void openpic2_init_nmi_irq(u_int irq); extern u_int openpic2_irq(void); extern void openpic2_eoi(void); -extern int openpic2_get_irq(struct pt_regs *regs); +extern int openpic2_get_irq(void); extern void openpic2_setup_ISU(int isu_num, unsigned long addr); #endif /* _PPC_KERNEL_OPEN_PIC_H */