diff options
Diffstat (limited to 'c/src/lib/libbsp/m68k/genmcf548x/irq/irq.c')
-rw-r--r-- | c/src/lib/libbsp/m68k/genmcf548x/irq/irq.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/c/src/lib/libbsp/m68k/genmcf548x/irq/irq.c b/c/src/lib/libbsp/m68k/genmcf548x/irq/irq.c index 47a155a20c..58e904426a 100644 --- a/c/src/lib/libbsp/m68k/genmcf548x/irq/irq.c +++ b/c/src/lib/libbsp/m68k/genmcf548x/irq/irq.c @@ -99,18 +99,24 @@ rtems_status_code bsp_interrupt_vector_disable(rtems_vector_number vector) static void_func get_exception_handler(rtems_vector_number vector) { + void **vbr; void_func *exception_table; - m68k_get_vbr(exception_table); + m68k_get_vbr(vbr); + + exception_table = (void_func *)vbr; return exception_table[vector_to_exception_vector(vector)]; } static void set_exception_handler(rtems_vector_number vector, void_func handler) { + void **vbr; void_func *exception_table; - m68k_get_vbr(exception_table); + m68k_get_vbr(vbr); + + exception_table = (void_func *)vbr; exception_table[vector_to_exception_vector(vector)] = handler; } |