/* cpu.h --- declarations for the M32C core.
-Copyright (C) 2005, 2007 Free Software Foundation, Inc.
+Copyright (C) 2005-2017 Free Software Foundation, Inc.
Contributed by Red Hat, Inc.
This file is part of the GNU simulators.
-The GNU simulators are free software; you can redistribute them and/or
-modify them under the terms of the GNU General Public License as
-published by the Free Software Foundation; either version 2 of the
-License, or (at your option) any later version.
+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 3 of the License, or
+(at your option) any later version.
-The GNU simulators are distributed in the hope that they will be
-useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
You should have received a copy of the GNU General Public License
-along with the GNU simulators; if not, write to the Free Software
-Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-02110-1301, USA */
+along with this program. If not, see <http://www.gnu.org/licenses/>. */
extern int verbose;
extern int trace;
extern int enable_counting;
+extern int in_gdb;
+
typedef unsigned char QI;
typedef unsigned short HI;
typedef unsigned long SI;
extern int b2maxsigned[];
extern int b2minsigned[];
+/* address of the opcode that just decoded, and thus caused the
+ exception. */
+extern int m32c_opcode_pc;
+
void init_regs (void);
void stack_heap_stats (void);
void set_pointer_width (int bytes);
extern unsigned int heapbottom;
/* Points to one of the below functions, set by m32c_load(). */
-extern int (*decode_opcode) ();
+extern int (*decode_opcode) (void);
+
+extern int decode_r8c (void);
+extern int decode_m32c (void);
-extern int decode_r8c ();
-extern int decode_m32c ();
+extern void trace_register_changes (void);
-extern void trace_register_changes ();
+extern void m32c_dump_all_registers (void);