diff options
author | Kazu Hirata <kazu@codesourcery.com> | 2006-09-01 05:41:06 +0000 |
---|---|---|
committer | Kazu Hirata <kazu@codesourcery.com> | 2006-09-01 05:41:06 +0000 |
commit | c023e783e91748c9f1a8d6d19d98130c55389a3c (patch) | |
tree | af939ae3f785a4bca156931a8e7736d6ade7ba8b /libgloss/m68k/bdm-isrs.c | |
parent | 1202770601a3d1eff4901fcccf70ad9943e38dc0 (diff) | |
download | cygnal-c023e783e91748c9f1a8d6d19d98130c55389a3c.tar.gz cygnal-c023e783e91748c9f1a8d6d19d98130c55389a3c.tar.bz2 cygnal-c023e783e91748c9f1a8d6d19d98130c55389a3c.zip |
libgloss/
Merge from newlib-csl-20060320-branch:
2006-08-31 Nathan Sidwell <nathan@codesourcery.com>
* m68k/bdm-crt1.c: Call hardware_init_hook before copying
initialized data.
* m68k/Makefile.in (CF_BDM_SCRIPTS): Rename to CF_RAM_SCRIPTS.
(CF_SCRIPTS): Update.
(%-bdm.ld): Rename to %-ram.ld.
2006-08-25 Nathan Sidwell <nathan@codesourcery.com>
* m68k/Makefile.in (DBUG_BSP, DBUG_OBJS): Remove.
(BDM_CRT0): New.
(BDM_OBJS): Add bdm-crt1.o.
(BDM_OTHER_OBJS): Remove print.o putnum.o
(CF_BOARDS): New.
(CF_BDM_SCRIPTS): Generated name of ram scripts.
(CF_ROM_SCRIPTS): Generated name of rom scripts.
(CF_SCRIPTS): Adjust.
(all): Add BDM_CRT0.
(bdm-crt0.o, bdm-crt1.o): New targets.
(bdm-isv.o): Remove.
(m5208evb, m5213evb, m52235evb, m5235evb, m5273c3, m5282evb,
m5329evb, m5485evb): New.
(%-bdm.ld, %-rom.ld): New. Replace individual linker script rules.
(install): Remove DBUG installs.
* m68k/bdm-crt0.S: New.
* m68k/bdm-crt1.c: New.
* m68k/bdm-exit.c: Call __reset.
* m68k/bdm-isv.c: Remove.
* m68k/cf.sc: Adjust to produce either rom or ram images.
* m68k/dbug-exit.S, m68k/dbug-inbyte.S, m68k/dbug-outbyte.S: Remove.
2006-07-24 Nathan Sidwell <nathan@codesourcery.com>
Bug 844
* m68k/cf.sc: Set entry point to _start.
* m68k/crt0.X (_start): New name for entrypoint
(start): Weak alias for start.
2006-06-09 Nathan Sidwell <nathan@codesourcery.com>
* m68k/bdm-system.c (_system): Support system(NULL).
2006-06-08 Nathan Sidwell <nathan@codesourcery.com>
* m68k/bdm-system.c (_system): Properly encode non failure exit
code.
2006-06-05 Nathan Sidwell <nathan@codesourcery.com>
* m68k/Makefile.in (BDM_SYSOBJS): Remove bdm-inbyte.o.
Add bdm-time.o.
* m68k/bdm-close.c: Add copyright notice.
* m68k/bdm-fstat.c: Add copyright notice.
* m68k/bdm-gettimeofday.c: Add copyright notice.
* m68k/bdm-inbyte.c: Remove.
* m68k/bdm-isatty.c: Add copyright notice.
* m68k/bdm-lseek.c: Add copyright notice. Fix &/| thinko.
* m68k/bdm-open.c: Add copyright notice.
* m68k/bdm-read.c: Add copyright notice.
* m68k/bdm-rename.c: Add copyright notice.
* m68k/bdm-stat.c: Add copyright notice.
* m68k/bdm-system.c: Add copyright notice.
* m68k/bdm-time.c: New.
* m68k/bdm-unlink.c: Add copyright notice.
* m68k/bdm-write.c: Add copyright notice.
2006-05-25 Nathan Sidwell <nathan@codesourcery.com>
* m68k/Makefile.in (m52235-dbug.ld, m52235-bdm.ld): New
scripts.
2006-05-24 Nathan Sidwell <nathan@codesourcery.com>
* m68k/Makefile.in (BDM_SYSOBJS): Remove bdm-outbyte.o.
* m68k/bdm-outbyte.c: Delete.
* m68k/bdm-semihost.h (BDM_OUTBYTE): Mark as obsolete.
2006-05-22 Sandra Loosemore <sandra@codesourcery.com>
* m68k/bdm-semihost.h: Add new constants for additional
semihosting functions. Add new BDM_TRAP macro to encapsulate
inline asm.
* m68k/bdm-exit.c (_exit): Use new BDM_TRAP macro.
* m68k/bdm-outbyte.c (outbyte): Ditto.
* m68k/bdm-isrs.c, m68k/bdm-isv.c: Former BDM_TRAP
now called BDM_TRAPNUM.
* m68k/bdm-gdb.h, m68k/bdm-gdb.c: New files
containing declarations and conversion functions for GDB's fileio
protocol.
* m68k/bdm-close.c: New file to define corresponding function.
* m68k/bdm-fstat.c: Ditto.
* m68k/bdm-gettimeofday.c: Ditto.
* m68k/bdm-isatty.c: Ditto.
* m68k/bdm-lseek.c: Ditto.
* m68k/bdm-open.c: Ditto.
* m68k/bdm-read.c: Ditto.
* m68k/bdm-rename.c: Ditto.
* m68k/bdm-stat.c: Ditto.
* m68k/bdm-system.c: Ditto.
* m68k/bdm-unlink.c: Ditto.
* m68k/bdm-write.c Ditto.
* m68k/Makefile.in: Add dependencies for new files.
2006-03-29 Nathan Sidwell <nathan@codesourcery.com>
* m68k/bdm-isv.c (software_init_hook): Fix trap numbering.
* m68k/Makefile.in (CF_SCRIPTS): Add m5329 board.
Reorder.
(*-dbug.ld, *-bdm.ld): Add appropriate IO definition.
(m5329evb-dbug.ld, m5329evb-bdm.ld): New.
* cf.sc (GROUP): Revert previous change. Add IO library.
* m68k/Makefile.in (BDM_BSP, BDM_OBJS, BDM_ISRS): New.
(CF_SCRIPTS): Rename dbug scripts. Add bdm scripts. Add m5485
scripts.
(all): Add new targets.
(BDM_BSP): New target.
(bdm-isv.o, bdm-exit.o, bdm-outbyte.o, bdm-semihost.o): New
targets.
(BDM_ISRS): New targets.
(m5208evb.ld, m5213evb.ld, m5235evb.ld, m5272c3.ld, m5282evb.ld):
Rename and adjust.
(m5485evb-dbug): New.
(m5208evb-bdm.ld, m5213evb-bdm.ld, m5235evb-bdm.ld,
m5272c3-bdm.ld, m5282evb-bdm.ld, m5485evb-bdm.ld): New.
(install): Add BDM_BSP.
* m68k/bdm-exit.c: New
* m68k/bdm-inbyte.c: New
* m68k/bdm-outbyte.c: New
* m68k/bdm-semihost.c: New
* m68k/bdm-semihost.h: New
* m68k/bdm-isrs.c: New.
* m68k/bdm-isv.c: New.
* dbug-cf.sc: Renamed to ...
* cf.sc: ... here. Add bdm flexibility. Remove GROUP
2006-05-22 Sandra Loosemore <sandra@codesourcery.com>
* m68k/bdm-semihost.h: Add new constants for additional
semihosting functions. Add new BDM_TRAP macro to encapsulate
inline asm.
* m68k/bdm-exit.c (_exit): Use new BDM_TRAP macro.
* m68k/bdm-outbyte.c (outbyte): Ditto.
* m68k/bdm-isrs.c, m68k/bdm-isv.c: Former BDM_TRAP
now called BDM_TRAPNUM.
* m68k/bdm-gdb.h, m68k/bdm-gdb.c: New files
containing declarations and conversion functions for GDB's fileio
protocol.
* m68k/bdm-close.c: New file to define corresponding function.
* m68k/bdm-fstat.c: Ditto.
* m68k/bdm-gettimeofday.c: Ditto.
* m68k/bdm-isatty.c: Ditto.
* m68k/bdm-lseek.c: Ditto.
* m68k/bdm-open.c: Ditto.
* m68k/bdm-read.c: Ditto.
* m68k/bdm-rename.c: Ditto.
* m68k/bdm-stat.c: Ditto.
* m68k/bdm-system.c: Ditto.
* m68k/bdm-unlink.c: Ditto.
* m68k/bdm-write.c Ditto.
* m68k/Makefile.in: Add dependencies for new files.
newlib/
Merge from newlib-csl-20060320-branch:
2006-05-22 Sandra Loosemore <sandra@codesourcery.com>
* configure.host: Tell it we have _rename and _system when
building m68k-unknown-elf.
Diffstat (limited to 'libgloss/m68k/bdm-isrs.c')
-rw-r--r-- | libgloss/m68k/bdm-isrs.c | 192 |
1 files changed, 192 insertions, 0 deletions
diff --git a/libgloss/m68k/bdm-isrs.c b/libgloss/m68k/bdm-isrs.c new file mode 100644 index 000000000..7ee9fbaa0 --- /dev/null +++ b/libgloss/m68k/bdm-isrs.c @@ -0,0 +1,192 @@ +/* + * bdm-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. + + User trap BDM_TRAPNUM (15) is used for semi hosting support. + If you replace this one, semihosting will cease to function. */ + + +/* 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 |