static void pc164_srm_device_interrupt(unsigned long v) { __min_ipl = getipl(); srm_device_interrupt(v); __min_ipl = 0; }
static void pc164_srm_device_interrupt(unsigned long v, struct pt_regs *r) { __min_ipl = getipl(); srm_device_interrupt(v, r); __min_ipl = 0; }
asmlinkage void do_entInt(unsigned long type, unsigned long vector, unsigned long la_ptr, unsigned long a3, unsigned long a4, unsigned long a5, struct pt_regs regs) { switch (type) { case 0: printk("Interprocessor interrupt? You must be kidding\n"); break; case 1: timer_interrupt(®s); return; case 2: machine_check(vector, la_ptr, ®s); return; case 3: #if defined(CONFIG_ALPHA_JENSEN) || defined(CONFIG_ALPHA_NONAME) || \ defined(CONFIG_ALPHA_P2K) || defined(CONFIG_ALPHA_SRM) srm_device_interrupt(vector, ®s); #elif NR_IRQS == 48 alcor_and_xlt_device_interrupt(vector, ®s); #elif NR_IRQS == 33 cabriolet_and_eb66p_device_interrupt(vector, ®s); #elif defined(CONFIG_ALPHA_MIKASA) mikasa_device_interrupt(vector, ®s); #elif NR_IRQS == 32 eb66_and_eb64p_device_interrupt(vector, ®s); #elif NR_IRQS == 16 isa_device_interrupt(vector, ®s); #endif return; case 4: printk("Performance counter interrupt\n"); break;; default: printk("Hardware intr %ld %lx? Huh?\n", type, vector); } printk("PC = %016lx PS=%04lx\n", regs.pc, regs.ps); }