From 981b99faf208e2c7f6e2b83d73e1b89b669112ee Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Tue, 10 Aug 1999 16:41:44 +0000 Subject: Patch from Eric Valette and Emmanuel Raguet : - 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), --- c/src/librdbg/include/rdbg/rdbg.h | 44 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 43 insertions(+), 1 deletion(-) (limited to 'c/src/librdbg/include/rdbg/rdbg.h') 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 #include #include -#include #include /* For malloc() and free() prototypes */ #include +#include #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 + #endif /* !RDBG_H */ -- cgit v1.2.3