aboutsummaryrefslogtreecommitdiff
path: root/sim/bfin/arch.h
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2016-08-08 13:06:49 +0800
committerMike Frysinger <vapier@gentoo.org>2016-08-13 12:47:11 -0700
commit474a2d9f5f8a080e30812525729c3a8b7baa61d6 (patch)
treef8b14eabb88d2bccdc21b5d4afb10846f679c836 /sim/bfin/arch.h
parent752cf9131f9e0fc39f9be5c1933d2f4d5b0b5ac9 (diff)
downloadgdb-474a2d9f5f8a080e30812525729c3a8b7baa61d6.zip
gdb-474a2d9f5f8a080e30812525729c3a8b7baa61d6.tar.gz
gdb-474a2d9f5f8a080e30812525729c3a8b7baa61d6.tar.bz2
sim: bfin: split out common mach/model defines into arch.h [PR sim/20438]
The current machs.h mixes common enums with Blackfin-specific defines. This causes us troubles with header inclusion order such that we can't drop the old SIM_CPU typedef (which is duplicated in common code). By splitting the two up, we can unwind this dependency chain, and drop the old typedef. It also fixes building with older gcc versions.
Diffstat (limited to 'sim/bfin/arch.h')
-rw-r--r--sim/bfin/arch.h44
1 files changed, 44 insertions, 0 deletions
diff --git a/sim/bfin/arch.h b/sim/bfin/arch.h
new file mode 100644
index 0000000..b86d3e9
--- /dev/null
+++ b/sim/bfin/arch.h
@@ -0,0 +1,44 @@
+/* Simulator for Analog Devices Blackfin processors.
+
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
+ Contributed by Analog Devices, Inc.
+
+ This file is part of simulators.
+
+ 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.
+
+ 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 this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#ifndef BFIN_ARCH_H
+#define BFIN_ARCH_H
+
+typedef enum model_type {
+#define P(n) MODEL_BF##n,
+#include "proc_list.def"
+#undef P
+ MODEL_MAX
+} MODEL_TYPE;
+
+typedef enum mach_attr {
+ MACH_BASE,
+ MACH_BFIN,
+ MACH_MAX
+} MACH_ATTR;
+
+enum {
+#define I(insn) BFIN_INSN_##insn,
+#include "insn_list.def"
+#undef I
+ BFIN_INSN_MAX
+};
+
+#endif