1 | /* |
---|
2 | ************************************************************************** |
---|
3 | * |
---|
4 | * Component = rdblib |
---|
5 | * |
---|
6 | * Synopsis = remdeb_f.x |
---|
7 | * |
---|
8 | * |
---|
9 | * Copyright(C) 2000 Canon Research Center France SA. |
---|
10 | * |
---|
11 | * Developped by : |
---|
12 | * Eric Valette, mail to : valette@crf.canon.fr |
---|
13 | * Emmanuel Raguet, mail to : raguet@crf.canon.fr |
---|
14 | * |
---|
15 | * $Header$ |
---|
16 | * |
---|
17 | ************************************************************************** |
---|
18 | */ |
---|
19 | /* Basic, host-specific, and target-specific definitions for GDB. |
---|
20 | Copyright (C) 1986, 1989, 1991, 1992, 1993, 1994, 1995 |
---|
21 | Free Software Foundation, Inc. |
---|
22 | |
---|
23 | This file is part of GDB. |
---|
24 | |
---|
25 | This program is free software; you can redistribute it and/or modify |
---|
26 | it under the terms of the GNU General Public License as published by |
---|
27 | the Free Software Foundation; either version 2 of the License, or |
---|
28 | (at your option) any later version. |
---|
29 | |
---|
30 | This program is distributed in the hope that it will be useful, |
---|
31 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
---|
32 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
---|
33 | GNU General Public License for more details. |
---|
34 | |
---|
35 | You should have received a copy of the GNU General Public License |
---|
36 | along with this program; if not, write to the Free Software |
---|
37 | Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ |
---|
38 | |
---|
39 | struct xdr_regs { |
---|
40 | int r_dreg[8]; /* data registers */ |
---|
41 | int r_areg[8]; /* address registers */ |
---|
42 | int r_sr; /* status register (actually a short) */ |
---|
43 | int r_pc; /* program counter */ |
---|
44 | int r_vec; /* last vector */ |
---|
45 | }; |
---|
46 | |
---|
47 | #ifdef RPC_HDR |
---|
48 | |
---|
49 | %/* now define register macros to apply to xdr_reg struct */ |
---|
50 | % |
---|
51 | |
---|
52 | %#define r_r0 r_dreg[0] /* r0 for portability */ |
---|
53 | %#define r_sp r_areg[7] /* user stack pointer */ |
---|
54 | %#define r_ps r_sr |
---|
55 | |
---|
56 | %#define REG_PC r_pc /* PC register offset */ |
---|
57 | %#define REG_SP r_areg[7] /* SP register offset */ |
---|
58 | %#define REG_FP r_areg[6] /* FP register offset */ |
---|
59 | |
---|
60 | %/* now define the BREAKPOINT mask technique to a long word */ |
---|
61 | %#define SET_BREAK(l) ((l&0x0000FFFF) | 0x4E4F0000) /* TRAP 15 */ |
---|
62 | %#define IS_BREAK(l) (((l) & 0xFFFF0000) == 0x4E4F0000) |
---|
63 | %#define ORG_BREAK(c,p) (((c) & 0x0000FFFF) | ((p) & 0xFFFF0000)) |
---|
64 | %#define IS_STEP(regs) ((regs).r_vec == 9) |
---|
65 | %#define BREAK_ADJ 0 |
---|
66 | %#define BREAK_SIZE 2 |
---|
67 | |
---|
68 | %#define TARGET_PROC_TYPE 2 |
---|
69 | |
---|
70 | #endif |
---|