diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 1998-08-21 16:39:52 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 1998-08-21 16:39:52 +0000 |
commit | eb562f2c860061868e4ea1a821a84147b694dd07 (patch) | |
tree | 4273d9ac092dab0e00e065a365595a2b30fcc95f /c/src/exec/score/cpu/i386/cpu.h | |
parent | Spacing changes (diff) | |
download | rtems-eb562f2c860061868e4ea1a821a84147b694dd07.tar.bz2 |
Patch from Eric Valette <valette@crf.canon.fr>:
Here is a patch that enables to catch exception
and get message before crashing RTEMS :)
It should be generic to any Intel port although enabled
only for pc386 BSP...
[Joel] I fixed the bug I introduced in irq_asm.s...
Diffstat (limited to '')
-rw-r--r-- | c/src/exec/score/cpu/i386/cpu.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/c/src/exec/score/cpu/i386/cpu.h b/c/src/exec/score/cpu/i386/cpu.h index d4806a2be4..8620ad8392 100644 --- a/c/src/exec/score/cpu/i386/cpu.h +++ b/c/src/exec/score/cpu/i386/cpu.h @@ -138,6 +138,10 @@ typedef struct { unsigned32 eflags; } CPU_Exception_frame; +typedef void (*cpuExcHandlerType) (CPU_Exception_frame*); +extern cpuExcHandlerType _currentExcHandler; +extern void rtems_exception_init_mngt(); + /* * The following structure defines the set of information saved * on the current stack by RTEMS upon receipt of each interrupt @@ -146,6 +150,29 @@ typedef struct { typedef CPU_Exception_frame CPU_Interrupt_frame; +typedef enum { + DIVIDE_BY_ZERO = 0, + DEBUG = 1, + NMI = 2, + BREAKPOINT = 3, + OVERFLOW = 4, + BOUND = 5, + ILLEGAL_INSTR = 6, + MATH_COPROC_UNAVAIL = 7, + DOUBLE_FAULT = 8, + I386_COPROC_SEG_ERR = 9, + INVALID_TSS = 10, + SEGMENT_NOT_PRESENT = 11, + STACK_SEGMENT_FAULT = 12, + GENERAL_PROT_ERR = 13, + PAGE_FAULT = 14, + INTEL_RES15 = 15, + FLOAT_ERROR = 16, + ALIGN_CHECK = 17, + MACHINE_CHECK = 18 +} Intel_symbolic_exception_name; + + /* * The following table contains the information required to configure * the i386 specific parameters. |