|
@@ -24,12 +24,12 @@
|
|
*/
|
|
*/
|
|
#define INTERRUPT_CAUSE_FLAG (1UL << (__riscv_xlen - 1))
|
|
#define INTERRUPT_CAUSE_FLAG (1UL << (__riscv_xlen - 1))
|
|
|
|
|
|
-asmlinkage void __irq_entry do_IRQ(struct pt_regs *regs, unsigned long cause)
|
|
|
|
|
|
+asmlinkage void __irq_entry do_IRQ(struct pt_regs *regs)
|
|
{
|
|
{
|
|
struct pt_regs *old_regs = set_irq_regs(regs);
|
|
struct pt_regs *old_regs = set_irq_regs(regs);
|
|
|
|
|
|
irq_enter();
|
|
irq_enter();
|
|
- switch (cause & ~INTERRUPT_CAUSE_FLAG) {
|
|
|
|
|
|
+ switch (regs->scause & ~INTERRUPT_CAUSE_FLAG) {
|
|
case INTERRUPT_CAUSE_TIMER:
|
|
case INTERRUPT_CAUSE_TIMER:
|
|
riscv_timer_interrupt();
|
|
riscv_timer_interrupt();
|
|
break;
|
|
break;
|