X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Fmn10300-tdep.h;h=23fc811e6cf303459ab0b6ad5885e6f238c637be;hb=e98ee8c458f3a8405eb93e71b00f801b4bbe3635;hp=7c699d66378330b05489bb2bab4000fccc144b2a;hpb=e02147b10c22073d9ab304ce0a95316e86fa8d1c;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/mn10300-tdep.h b/gdb/mn10300-tdep.h index 7c699d6637..23fc811e6c 100644 --- a/gdb/mn10300-tdep.h +++ b/gdb/mn10300-tdep.h @@ -1,13 +1,12 @@ /* Target-dependent interface for Matsushita MN10300 for GDB, the GNU debugger. - Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free - Software Foundation, Inc. + Copyright (C) 1996-2018 Free Software Foundation, Inc. This file is part of GDB. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or + the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, @@ -16,16 +15,65 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ + along with this program. If not, see . */ -/* mn10300 private data */ +enum { + E_D0_REGNUM = 0, + E_D1_REGNUM = 1, + E_D2_REGNUM = 2, + E_D3_REGNUM = 3, + E_A0_REGNUM = 4, + E_A1_REGNUM = 5, + E_A2_REGNUM = 6, + E_A3_REGNUM = 7, + E_SP_REGNUM = 8, + E_PC_REGNUM = 9, + E_MDR_REGNUM = 10, + E_PSW_REGNUM = 11, + E_LIR_REGNUM = 12, + E_LAR_REGNUM = 13, + E_MDRQ_REGNUM = 14, + E_E0_REGNUM = 15, + E_E1_REGNUM = 16, + E_E2_REGNUM = 17, + E_E3_REGNUM = 18, + E_E4_REGNUM = 19, + E_E5_REGNUM = 20, + E_E6_REGNUM = 21, + E_E7_REGNUM = 22, + E_E8_REGNUM = 23, + E_E9_REGNUM = 24, + E_E10_REGNUM = 25, + E_MCRH_REGNUM = 26, + E_MCRL_REGNUM = 27, + E_MCVF_REGNUM = 28, + E_FPCR_REGNUM = 29, + E_FS0_REGNUM = 32 +}; + +enum movm_register_bits { + movm_exother_bit = 0x01, + movm_exreg1_bit = 0x02, + movm_exreg0_bit = 0x04, + movm_other_bit = 0x08, + movm_a3_bit = 0x10, + movm_a2_bit = 0x20, + movm_d3_bit = 0x40, + movm_d2_bit = 0x80 +}; + +/* Values for frame_info.status. */ + +enum frame_kind { + MY_FRAME_IN_SP = 0x1, + MY_FRAME_IN_FP = 0x2, + NO_MORE_FRAMES = 0x4 +}; + +/* mn10300 private data. */ struct gdbarch_tdep { int am33_mode; -#define AM33_MODE (gdbarch_tdep (current_gdbarch)->am33_mode) }; -extern CORE_ADDR mn10300_analyze_prologue (struct frame_info *, void **, CORE_ADDR); -extern struct trad_frame_cache *mn10300_frame_unwind_cache (struct frame_info *, void **); +#define AM33_MODE(gdbarch) (gdbarch_tdep (gdbarch)->am33_mode)