source: rtems/c/src/lib/librdbg/i386/pc386/remdeb_f.x @ 981b99f

4.104.114.84.95
Last change on this file since 981b99f was 981b99f, checked in by Joel Sherrill <joel.sherrill@…>, on 08/10/99 at 16:41:44

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),
  • Property mode set to 100644
File size: 1.4 KB
RevLine 
[4721cf1]1/*
2 **************************************************************************
3 *
4 * Component =   rdblib
5 *
6 * Synopsis  =   remdeb_f.x
7 *
[981b99f]8 * $Id$
[4721cf1]9 *
10 **************************************************************************
11 */
12
13struct xdr_regs
14{
15  unsigned int  tabreg[19];
16};
17
18#ifdef RPC_HDR
19
20%/* now define register macros to apply to xdr_reg struct */
21%
22%#define GS     0
23%#define FS     1
24%#define ES     2
25%#define DS     3
26%#define EDI    4
27%#define ESI    5
28%#define EBP    6
29%#define ESP    7
30%#define EBX    8
31%#define EDX    9
32%#define ECX    10
33%#define EAX    11
34%#define TRAPNO 12
35%#define ERR    13
36%#define EIP    14
37%#define CS     15
38%#define EFL    16
39%#define UESP   17
40%#define SS     18
41%
42%#define REG_PC tabreg[EIP]     /* PC (eip) register offset */
43%#define REG_SP tabreg[UESP]    /* SP (uesp) register offset */
44%#define REG_FP tabreg[EBP]     /* FP (ebp) register offset */
45
46%/* now define the BREAKPOINT mask technique to a long word */
47%#define SET_BREAK(l)   ((l&0xFFFFFF00) | 0xCC)
48%#define IS_BREAK(l)    (((l) & 0xFF) == 0xCC)
49%#define ORG_BREAK(c,p) (((c) & 0xFFFFFF00) | ((p) & 0xFF))
50%#define IS_STEP(regs)  (regs.tabreg[TRAPNO] == 1) /* was step and not break */
51%#define BREAK_ADJ      1       /* must subtract one from address after bp */
52%#define BREAK_SIZE     1       /* Breakpoint occupies one byte */
53
54%#define TARGET_PROC_TYPE  0
55
56#endif
57
58
59
Note: See TracBrowser for help on using the repository browser.