]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - gdb/mn10300-tdep.h
Fix buffer overrun parsing a corrupt tekhex binary.
[thirdparty/binutils-gdb.git] / gdb / mn10300-tdep.h
CommitLineData
e02147b1
MS
1/* Target-dependent interface for Matsushita MN10300 for GDB, the GNU debugger.
2
61baf725 3 Copyright (C) 1996-2017 Free Software Foundation, Inc.
e02147b1
MS
4
5 This file is part of GDB.
6
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
a9762ec7 9 the Free Software Foundation; either version 3 of the License, or
e02147b1
MS
10 (at your option) any later version.
11
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
a9762ec7 18 along with this program. If not, see <http://www.gnu.org/licenses/>. */
e02147b1 19
aac71672
MS
20enum {
21 E_D0_REGNUM = 0,
22 E_D1_REGNUM = 1,
23 E_D2_REGNUM = 2,
24 E_D3_REGNUM = 3,
25 E_A0_REGNUM = 4,
26 E_A1_REGNUM = 5,
27 E_A2_REGNUM = 6,
28 E_A3_REGNUM = 7,
29 E_SP_REGNUM = 8,
30 E_PC_REGNUM = 9,
31 E_MDR_REGNUM = 10,
32 E_PSW_REGNUM = 11,
33 E_LIR_REGNUM = 12,
34 E_LAR_REGNUM = 13,
35 E_MDRQ_REGNUM = 14,
36 E_E0_REGNUM = 15,
37 E_E1_REGNUM = 16,
38 E_E2_REGNUM = 17,
39 E_E3_REGNUM = 18,
40 E_E4_REGNUM = 19,
41 E_E5_REGNUM = 20,
42 E_E6_REGNUM = 21,
43 E_E7_REGNUM = 22,
611889b1
KB
44 E_E8_REGNUM = 23,
45 E_E9_REGNUM = 24,
46 E_E10_REGNUM = 25,
aac71672
MS
47 E_MCRH_REGNUM = 26,
48 E_MCRL_REGNUM = 27,
49 E_MCVF_REGNUM = 28,
611889b1 50 E_FPCR_REGNUM = 29,
4640dd91 51 E_FS0_REGNUM = 32
aac71672
MS
52};
53
9cacebf5
MS
54enum movm_register_bits {
55 movm_exother_bit = 0x01,
56 movm_exreg1_bit = 0x02,
57 movm_exreg0_bit = 0x04,
58 movm_other_bit = 0x08,
59 movm_a3_bit = 0x10,
60 movm_a2_bit = 0x20,
61 movm_d3_bit = 0x40,
62 movm_d2_bit = 0x80
63};
64
025bb325 65/* Values for frame_info.status. */
9cacebf5
MS
66
67enum frame_kind {
68 MY_FRAME_IN_SP = 0x1,
69 MY_FRAME_IN_FP = 0x2,
70 NO_MORE_FRAMES = 0x4
71};
72
025bb325 73/* mn10300 private data. */
e02147b1
MS
74struct gdbarch_tdep
75{
76 int am33_mode;
e02147b1
MS
77};
78
d15cf01c 79#define AM33_MODE(gdbarch) (gdbarch_tdep (gdbarch)->am33_mode)