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/include/rdbg/rdbg.h | |
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/include/rdbg/rdbg.h')
-rw-r--r-- | c/src/librdbg/include/rdbg/rdbg.h | 44 |
1 files changed, 43 insertions, 1 deletions
diff --git a/c/src/librdbg/include/rdbg/rdbg.h b/c/src/librdbg/include/rdbg/rdbg.h index 737edd5575..6d03a573d1 100644 --- a/c/src/librdbg/include/rdbg/rdbg.h +++ b/c/src/librdbg/include/rdbg/rdbg.h @@ -5,6 +5,8 @@ * * Synopsis = rdbg.h * + * $Id$ + * ************************************************************************** */ @@ -14,9 +16,9 @@ #include <rpc/rpc.h> #include <sys/socket.h> #include <netinet/in.h> -#include <rdbg/rdbg_f.h> #include <stdlib.h> /* For malloc() and free() prototypes */ #include <bsp.h> +#include <rtems.h> #define Malloc(size) malloc (size) #define Free(block) free (block) @@ -49,5 +51,45 @@ void svc_processrequest (SVCXPRT* xprt, void (*dispatch)()); int svcudp_enablecache (SVCXPRT *transp, u_long size); +typedef struct Exception_context_struct { + struct Exception_context_struct *next; + struct Exception_context_struct *previous; + Objects_Id id; + Objects_Id semaphoreId; + CPU_Exception_frame *ctx; +} Exception_context; + +struct xdr_regs; + +extern int PushExceptCtx (Objects_Id Id, + Objects_Id semId, + CPU_Exception_frame *ctx); +extern int PopExceptCtx (Objects_Id Id); +extern Exception_context *GetExceptCtx (Objects_Id Id); +extern int Single_Step (CPU_Exception_frame* ctx); +extern int CheckForSingleStep (CPU_Exception_frame* ctx); +extern void BreakPointExcHdl (CPU_Exception_frame *ctx); +extern void CtxToRegs (const CPU_Exception_frame*,struct xdr_regs*); +extern void RegsToCtx (const struct xdr_regs*,CPU_Exception_frame*); + +extern void enterRdbg (); +extern void get_ctx_thread (Thread_Control *thread, + CPU_Exception_frame* ctx); +extern void set_ctx_thread (Thread_Control *thread, + CPU_Exception_frame* ctx); +extern int PushSavedExceptCtx ( Objects_Id Id, + CPU_Exception_frame *ctx ); +extern int ExcepToSig (Exception_context *ctx); + +extern int ExitForSingleStep; + +extern rtems_id serializeSemId; +extern rtems_id wakeupEventSemId; +extern volatile unsigned int NbSerializedCtx; + +void copyback_data_cache_and_invalidate_instr_cache(unsigned char* addr, int size); + +#include <rdbg/rdbg_f.h> + #endif /* !RDBG_H */ |