diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 1999-08-10 16:41:44 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 1999-08-10 16:41:44 +0000 |
commit | 981b99faf208e2c7f6e2b83d73e1b89b669112ee (patch) | |
tree | 1f2e2b431853a81be77417c1026c75c53e04d5ea /c/src/librdbg/src/i386/rdbg_f.c | |
parent | New configuration files added by patch from (diff) | |
download | rtems-981b99faf208e2c7f6e2b83d73e1b89b669112ee.tar.bz2 |
Patch from Eric Valette <valette@crf.canon.fr> and Emmanuel Raguet
<raguet@crf.canon.fr>:
- the dec21140 driver code has been hardened (various bug fixed) Emmanuel,
- bug in the mcp750 init code have been fixed (interrupt stack/initial
stack initialization), BSS correctly cleared (Eric V)
- remote debugging over TCP/IP is nearly complete (berakpoints,
backtrace, variables,...) (Eric V),
- exception handling code has also been improved in order to fully
support RDBG requirements (Eric V),
Diffstat (limited to 'c/src/librdbg/src/i386/rdbg_f.c')
-rw-r--r-- | c/src/librdbg/src/i386/rdbg_f.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/c/src/librdbg/src/i386/rdbg_f.c b/c/src/librdbg/src/i386/rdbg_f.c index aeb07fcbe8..b339256e70 100644 --- a/c/src/librdbg/src/i386/rdbg_f.c +++ b/c/src/librdbg/src/i386/rdbg_f.c @@ -5,6 +5,8 @@ * * Synopsis = rdbg/i386/rdbg_f.c * + * $Id$ + * ************************************************************************** */ @@ -128,3 +130,26 @@ CancelSingleStep (CPU_Exception_frame* ctx) ctx->eflags &= ~EFLAGS_TF; ExitForSingleStep-- ; } + +cpuExcHandlerType old_currentExcHandler; +extern void rtems_exception_prologue_50(); + +void connect_rdbg_exception() +{ + interrupt_gate_descriptor *currentIdtEntry; + unsigned limit; + unsigned level; + + /* + * Connect the Exception used to debug + */ + i386_get_info_from_IDTR (¤tIdtEntry, &limit); + + _CPU_ISR_Disable(level); + create_interrupt_gate_descriptor (¤tIdtEntry[50], rtems_exception_prologue_50); + _CPU_ISR_Enable(level); + + old_currentExcHandler = _currentExcHandler; + _currentExcHandler = BreakPointExcHdl ; + +} |