Ignore:
Timestamp:
Aug 10, 1999, 4:41:44 PM (22 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 4.8, 4.9, 5, master
Children:
cef2fb5f
Parents:
908436c1
Message:

Patch from Eric Valette <valette@…> and Emmanuel Raguet
<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),
File:
1 edited

Legend:

Unmodified
Added
Removed
  • c/src/librdbg/include/rdbg/i386/rdbg_f.h

    r908436c1 r981b99f  
    66 *
    77 * Synopsis = Machine-dependent header file
     8 *
     9 * $Id$
    810 *
    911 **************************************************************************
     
    1820#define EFLAGS_TF 0x00100
    1921
    20 typedef struct Exception_context_struct {
    21   struct Exception_context_struct *next;
    22   struct Exception_context_struct *previous;
    23   Objects_Id id;
    24   Objects_Id semaphoreId;
    25   CPU_Exception_frame *ctx;
    26 } Exception_context;
     22static inline int isRdbgException(Exception_context *ctx)
     23{
     24  if (
     25      ctx->ctx->idtIndex != I386_EXCEPTION_DEBUG &&
     26      ctx->ctx->idtIndex != I386_EXCEPTION_BREAKPOINT &&
     27      ctx->ctx->idtIndex != I386_EXCEPTION_ENTER_RDBG
     28      ) return 0;
     29  else return 1;
     30}
     31static inline int getExcNum(Exception_context *ctx)
     32{
     33  return ctx->ctx->idtIndex;
     34}
    2735
    28 extern int      PushExceptCtx           (Objects_Id Id,
    29                                          Objects_Id semId,
    30                                          CPU_Exception_frame *ctx);
    31 extern int      PopExceptCtx            (Objects_Id Id);
    32 extern Exception_context *GetExceptCtx  (Objects_Id Id);
    33 extern int      Single_Step             (CPU_Exception_frame* ctx);
    34 extern int      CheckForSingleStep      (CPU_Exception_frame* ctx);
    35 extern void     BreakPointExcHdl        (CPU_Exception_frame *ctx);
    36 extern void     CtxToRegs               (const CPU_Exception_frame*,xdr_regs*);
    37 extern void     RegsToCtx               (const xdr_regs*,CPU_Exception_frame*);
    38 
    39 extern void     enterRdbg               ();
    40 extern void     get_ctx_thread          (Thread_Control *thread,
    41                                          CPU_Exception_frame* ctx);
    42 extern void     set_ctx_thread          (Thread_Control *thread,
    43                                          CPU_Exception_frame* ctx);
    44 
    45 void copyback_data_cache_and_invalidate_instr_cache();
    46 
    47 extern int      ExitForSingleStep;
    48 
     36extern void connect_rdbg_exception();
    4937
    5038#endif
Note: See TracChangeset for help on using the changeset viewer.