* machine checks to interrupts
                 */
                irqmask = tmchk->c_dirx & TITAN_MCHECK_INTERRUPT_MASK;
-               titan_dispatch_irqs(irqmask, get_irq_regs());
+               titan_dispatch_irqs(irqmask);
        }       
 
 
        /*
         * Dispatch the interrupt(s).
         */
-       titan_dispatch_irqs(irqmask, get_irq_regs());
+       titan_dispatch_irqs(irqmask);
 
        /* 
         * Release the logout frame.
 
 extern void die_if_kernel(char *, struct pt_regs *, long, unsigned long *);
 
 /* sys_titan.c */
-extern void titan_dispatch_irqs(u64, struct pt_regs *);
+extern void titan_dispatch_irqs(u64);
 
 /* ../mm/init.c */
 extern void switch_to_system_map(void);
 
 }
 
 void
-titan_dispatch_irqs(u64 mask, struct pt_regs *regs)
+titan_dispatch_irqs(u64 mask)
 {
-       struct pt_regs *old_regs;
        unsigned long vector;
 
        /*
         */
        mask &= titan_cpu_irq_affinity[smp_processor_id()];
 
-       old_regs = set_irq_regs(regs);
        /*
         * Dispatch all requested interrupts 
         */
                /* dispatch it */
                alpha_mv.device_interrupt(vector);
        }
-       set_irq_regs(old_regs);
 }
   
 \f