* System interrupts occur because some problem was detected on the
* various busses. To find out what you have to probe all the
* hardware via the CAT bus. FIXME: At the moment we do nothing. */
-fastcall void
-smp_vic_sys_interrupt(struct pt_regs *regs)
+asmlinkage void
+smp_vic_sys_interrupt(void)
{
ack_CPI(VIC_SYS_INT);
printk("Voyager SYSTEM INTERRUPT\n");
/* Handle a voyager CMN_INT; These interrupts occur either because of
* a system status change or because a single bit memory error
* occurred. FIXME: At the moment, ignore all this. */
-fastcall void
-smp_vic_cmn_interrupt(struct pt_regs *regs)
+asmlinkage void
+smp_vic_cmn_interrupt(void)
{
static __u8 in_cmn_int = 0;
static spinlock_t cmn_int_lock = SPIN_LOCK_UNLOCKED;
/*
* Reschedule call back. Nothing to do, all the work is done
* automatically when we return from the interrupt. */
-static void
+asmlinkage void
smp_reschedule_interrupt(void)
{
/* do nothing */
/*
* Invalidate call-back
*/
-static void
+asmlinkage void
smp_invalidate_interrupt(void)
{
__u8 cpu = smp_processor_id();
}
/* enable the requested IRQs */
-static void
+asmlinkage void
smp_enable_irq_interrupt(void)
{
__u8 irq;
* previously set up. This is used to schedule a function for
* execution on all CPU's - set up the function then broadcast a
* function_interrupt CPI to come here on each CPU */
-static void
+asmlinkage void
smp_call_function_interrupt(void)
{
void (*func) (void *info) = call_data->func;
* no local APIC, so I can't do this
*
* This function is currently a placeholder and is unused in the code */
-fastcall void
-smp_apic_timer_interrupt(struct pt_regs *regs)
+asmlinkage void
+smp_apic_timer_interrupt(struct pt_regs regs)
{
- wrapper_smp_local_timer_interrupt(regs);
+ wrapper_smp_local_timer_interrupt(®s);
}
/* All of the QUAD interrupt GATES */
-fastcall void
-smp_qic_timer_interrupt(struct pt_regs *regs)
+asmlinkage void
+smp_qic_timer_interrupt(struct pt_regs regs)
{
ack_QIC_CPI(QIC_TIMER_CPI);
- wrapper_smp_local_timer_interrupt(regs);
+ wrapper_smp_local_timer_interrupt(®s);
}
-fastcall void
-smp_qic_invalidate_interrupt(struct pt_regs *regs)
+asmlinkage void
+smp_qic_invalidate_interrupt(void)
{
ack_QIC_CPI(QIC_INVALIDATE_CPI);
smp_invalidate_interrupt();
}
-fastcall void
-smp_qic_reschedule_interrupt(struct pt_regs *regs)
+asmlinkage void
+smp_qic_reschedule_interrupt(void)
{
ack_QIC_CPI(QIC_RESCHEDULE_CPI);
smp_reschedule_interrupt();
}
-fastcall void
-smp_qic_enable_irq_interrupt(struct pt_regs *regs)
+asmlinkage void
+smp_qic_enable_irq_interrupt(void)
{
ack_QIC_CPI(QIC_ENABLE_IRQ_CPI);
smp_enable_irq_interrupt();
}
-fastcall void
-smp_qic_call_function_interrupt(struct pt_regs *regs)
+asmlinkage void
+smp_qic_call_function_interrupt(void)
{
ack_QIC_CPI(QIC_CALL_FUNCTION_CPI);
smp_call_function_interrupt();
}
-fastcall void
-smp_vic_cpi_interrupt(struct pt_regs *regs)
+asmlinkage void
+smp_vic_cpi_interrupt(struct pt_regs regs)
{
__u8 cpu = smp_processor_id();
ack_VIC_CPI(VIC_CPI_LEVEL0);
if(test_and_clear_bit(VIC_TIMER_CPI, &vic_cpi_mailbox[cpu]))
- wrapper_smp_local_timer_interrupt(regs);
+ wrapper_smp_local_timer_interrupt(®s);
if(test_and_clear_bit(VIC_INVALIDATE_CPI, &vic_cpi_mailbox[cpu]))
smp_invalidate_interrupt();
if(test_and_clear_bit(VIC_RESCHEDULE_CPI, &vic_cpi_mailbox[cpu]))