From 68387c448b7f2b3e2bfa0f606391cd3b602b1997 Mon Sep 17 00:00:00 2001 From: Roman Zippel Date: Sun, 25 Jun 2006 05:47:01 -0700 Subject: [PATCH] m68k: convert generic irq code to irq controller Convert the generic irq code to use irq controller, this gets rid of the machine specific callbacks and gives better control over irq handling without duplicating lots of code. Signed-off-by: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- arch/m68k/kernel/entry.S | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'arch/m68k/kernel/entry.S') diff --git a/arch/m68k/kernel/entry.S b/arch/m68k/kernel/entry.S index 1fb88f3311d..48cccc556e1 100644 --- a/arch/m68k/kernel/entry.S +++ b/arch/m68k/kernel/entry.S @@ -48,6 +48,8 @@ .globl sys_call_table .globl sys_fork, sys_clone, sys_vfork .globl ret_from_interrupt, bad_interrupt +.globl auto_irqhandler_fixup +.globl user_irqvec_fixup, user_irqhandler_fixup .text ENTRY(buserr) @@ -212,6 +214,7 @@ ENTRY(auto_inthandler) jbra 3f 1: #endif +auto_irqhandler_fixup = . + 2 jsr m68k_handle_int | process the IRQ 3: addql #8,%sp | pop parameters off stack @@ -234,17 +237,19 @@ ret_from_last_interrupt: /* Handler for user defined interrupt vectors */ -ENTRY(mach_inthandler) +ENTRY(user_inthandler) SAVE_ALL_INT GET_CURRENT(%d0) addqb #1,%curptr@(TASK_INFO+TINFO_PREEMPT+1) | put exception # in d0 bfextu %sp@(PT_VECTOR){#4,#10},%d0 +user_irqvec_fixup = . + 2 + subw #VEC_USER,%d0 movel %sp,%sp@- movel %d0,%sp@- | put vector # on stack - movel mach_process_int,%a0 - jsr %a0@ | process the IRQ +user_irqhandler_fixup = . + 2 + jsr m68k_handle_int | process the IRQ addql #8,%sp | pop parameters off stack subqb #1,%curptr@(TASK_INFO+TINFO_PREEMPT+1) -- cgit v1.2.3