diff options
author | Nathan Sidwell <nathan@codesourcery.com> | 2006-10-08 00:08:48 +0400 |
---|---|---|
committer | Nathan Sidwell <nathan@codesourcery.com> | 2006-10-08 00:08:48 +0400 |
commit | d36ae2cec9355bd721f470cf4924c01fa3be04f7 (patch) | |
tree | 71bfeef819cda1fa27d095e2ed5cc2f70cb96b60 /libgloss/m68k/cf-isrs.c | |
parent | 92859c43ce9afb1ee0c5c8e0d2ab92276d4afc70 (diff) |
libgloss/newlib-csl-sourcerygxx-4_1-24
* m68k/Makefile.in: Adjust Coldfire rules.
(BDM_CRT0, BDM_BSP, BDM_OBJS, BDM_ISRS): Rename to ...
(CF_CRT0, CF_BSP, CF_OBJS, CF_ISRS): ... here. Adjust.
(BDM_OTHER_OBJS): Remove.
(BDM_SYSOBJS): Rename to ...
(UNHOSTED_OBJS): ... here. Adjust.
(UNHOSTED_BSP, HOSTED_OBJS, HOSTED_BSP): New.
(CF_HOSTED_SCRIPTS): New.
(CF_SCRIPTS, CF_SOURCES): Adjust.
* m68k/cf.sc: Add IO library variable.
* m68k/bdm-crt0.S, m68k/bdm-crt1.c, m68k/bdm-isrs.c,
m68k/bdm-sbrk.c, m68k/bdm-semihost.S: Rename to ...
* m68k/cf-crt0.S, m68k/cf-crt1.c, m68k/cf-isrs.c, m68k/cf-sbrk.c,
m68k/cf-hosted.S: ... here.
* m68k/cf-exit.c: New.
* m68k/bdm-gdb.h, m68k/bdm-semihost.h: Merge into ...
* m68k/io.h: ... here. Add unhosted support. Adjust conversion
function names.
* m68k/bdm-gdb.c: Rename to ...
* m68k/io-gdb.c: ... here. Adjust names of conversion functions.
* m68k/bdm-close.c, m68k/bdm-exit.c, m68k/bdm-fstat.c,
m68k/bdm-gettimeofday.c, m68k/bdm-isatty.c, m68k/bdm-lseek.c,
m68k/bdm-open.c, m68k/bdm-read.c, m68k/bdm-rename.c,
m68k/bdm-stat.c, m68k/bdm-system.c, m68k/bdm-time.c,
m68k/bdm-unlink.c, m68k/bdm-write.c: Rename to ...
* m68k/io-close.c, m68k/io-exit.c, m68k/io-fstat.c,
m68k/io-gettimeofday.c, m68k/io-isatty.c, m68k/io-lseek.c,
m68k/io-open.c, m68k/io-read.c, m68k/io-rename.c, m68k/io-stat.c,
m68k/io-system.c, m68k/io-time.c, m68k/io-unlink.c,
m68k/io-write.c: ... here. Include io.h. Adjust for hosted &
unhosted libraries. Adjust names of gdb conversion functions.
Diffstat (limited to 'libgloss/m68k/cf-isrs.c')
-rw-r--r-- | libgloss/m68k/cf-isrs.c | 189 |
1 files changed, 189 insertions, 0 deletions
diff --git a/libgloss/m68k/cf-isrs.c b/libgloss/m68k/cf-isrs.c new file mode 100644 index 000000000..e9846e237 --- /dev/null +++ b/libgloss/m68k/cf-isrs.c @@ -0,0 +1,189 @@ +/* + * cf-isv.c -- + * + * Copyright (c) 2006 CodeSourcery Inc + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* This file contains default interrupt handlers code for the + interrupt vector. All but one of the interrupts are user + replaceable. + + These interrupt handlers are entered whenever the associated + interrupt occurs. All they do is stop the debugger to give the user + the opportunity to determine where the problem was. */ + + +/* Each ISR is a loop containing a halt instruction */ +#define ISR_DEFINE(NAME) \ +void __attribute__((interrupt_handler)) NAME (void) \ +{ \ + while (1) \ + __asm__ __volatile__ ("halt" ::: "memory"); \ +} \ +struct eat_trailing_semicolon + +#if defined (L_other_interrupt) +ISR_DEFINE (__other_interrupt); +#endif + +#if defined (L_reset) +ISR_DEFINE (__reset); +#endif + +#if defined (L_access_error) +ISR_DEFINE (__access_error); +#endif + +#if defined (L_address_error) +ISR_DEFINE (__address_error); +#endif + +#if defined (L_illegal_instruction) +ISR_DEFINE (__illegal_instruction); +#endif + +#if defined (L_divide_by_zero) +ISR_DEFINE (__divide_by_zero); +#endif + +#if defined (L_privilege_violation) +ISR_DEFINE (__privilege_violation); +#endif + +#if defined (L_trace) +ISR_DEFINE (__trace); +#endif + +#if defined (L_unimplemented_line_a_opcode) +ISR_DEFINE (__unimplemented_line_a_opcode); +#endif + +#if defined (L_unimplemented_line_f_opcode) +ISR_DEFINE (__unimplemented_line_f_opcode); +#endif + +#if defined (L_non_pc_breakpoint_debug_interrupt) +ISR_DEFINE (__non_pc_breakpoint_debug_interrupt); +#endif + +#if defined (L_pc_breakpoint_debug_interrupt) +ISR_DEFINE (__pc_breakpoint_debug_interrupt); +#endif + +#if defined (L_format_error) +ISR_DEFINE (__format_error); +#endif + +#if defined (L_spurious_interrupt) +ISR_DEFINE (__spurious_interrupt); +#endif + +#if defined (L_trap0) +ISR_DEFINE (__trap0); +#endif + +#if defined (L_trap1) +ISR_DEFINE (__trap1); +#endif + +#if defined (L_trap2) +ISR_DEFINE (__trap2); +#endif + +#if defined (L_trap3) +ISR_DEFINE (__trap3); +#endif + +#if defined (L_trap4) +ISR_DEFINE (__trap4); +#endif + +#if defined (L_trap5) +ISR_DEFINE (__trap5); +#endif + +#if defined (L_trap6) +ISR_DEFINE (__trap6); +#endif + +#if defined (L_trap7) +ISR_DEFINE (__trap7); +#endif + +#if defined (L_trap8) +ISR_DEFINE (__trap8); +#endif + +#if defined (L_trap9) +ISR_DEFINE (__trap9); +#endif + +#if defined (L_trap10) +ISR_DEFINE (__trap10); +#endif + +#if defined (L_trap11) +ISR_DEFINE (__trap11); +#endif + +#if defined (L_trap12) +ISR_DEFINE (__trap12); +#endif + +#if defined (L_trap13) +ISR_DEFINE (__trap13); +#endif + +#if defined (L_trap14) +ISR_DEFINE (__trap14); +#endif + +#if defined (L_trap15) +ISR_DEFINE (__trap15); +#endif + +#if defined (L_fp_branch_unordered) +ISR_DEFINE (__fp_branch_unordered); +#endif + +#if defined (L_fp_inexact_result) +ISR_DEFINE (__fp_inexact_result); +#endif + +#if defined (L_fp_divide_by_zero) +ISR_DEFINE (__fp_divide_by_zero); +#endif + +#if defined (L_fp_underflow) +ISR_DEFINE (__fp_underflow); +#endif + +#if defined (L_fp_operand_error) +ISR_DEFINE (__fp_operand_error); +#endif + +#if defined (L_fp_overflow) +ISR_DEFINE (__fp_overflow); +#endif + +#if defined (L_fp_input_not_a_number) +ISR_DEFINE (__fp_input_not_a_number); +#endif + +#if defined (L_fp_input_denormalized_number) +ISR_DEFINE (__fp_input_denormalized_number); +#endif + +#if defined (L_unsupported_instruction) +ISR_DEFINE (__unsupported_instruction); +#endif |