From e50840893dc03b2363bab84880fefebe0f8db07d Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Thu, 22 Dec 2022 22:28:06 -0500 Subject: sim: arm: move arch-specific settings to internal header There's no need for these settings to be in sim-main.h which is shared with common/ sim code, so move it all out to a new header which only this port will include. The BIT override would be better in the place where it's redefined, so move it to armdefs.h instead. --- sim/arm/arm-sim.h | 26 ++++++++++++++++++++++++++ sim/arm/armdefs.h | 6 ++++++ sim/arm/armemu.h | 2 ++ sim/arm/sim-main.h | 5 ----- sim/arm/wrapper.c | 1 + 5 files changed, 35 insertions(+), 5 deletions(-) create mode 100644 sim/arm/arm-sim.h diff --git a/sim/arm/arm-sim.h b/sim/arm/arm-sim.h new file mode 100644 index 00000000000..65a1c676e8e --- /dev/null +++ b/sim/arm/arm-sim.h @@ -0,0 +1,26 @@ +/* Simulation code for the ARM processor. + Copyright (C) 2009-2022 Free Software Foundation, Inc. + + This file is part of the GNU 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 . */ + +#ifndef ARM_SIM_H +#define ARM_SIM_H + +#include "armdefs.h" + +extern struct ARMul_State *state; + +#endif diff --git a/sim/arm/armdefs.h b/sim/arm/armdefs.h index 7df5d022942..d87220bf29b 100644 --- a/sim/arm/armdefs.h +++ b/sim/arm/armdefs.h @@ -14,6 +14,9 @@ You should have received a copy of the GNU General Public License along with this program; if not, see . */ +#ifndef ARMDEFS_H +#define ARMDEFS_H + #include #include #include @@ -183,6 +186,7 @@ struct ARMul_State * Macros to extract instruction fields * \***************************************************************************/ +#undef BIT /* common/sim-bits.h conflict :( */ #define BIT(n) ( (ARMword)(instr>>(n))&1) /* bit n of instruction */ #define BITS(m,n) ( (ARMword)(instr<<(31-(n))) >> ((31-(n))+(m)) ) /* bits m to n of instr */ #define TOPBITS(n) (instr >> (n)) /* bits 31 to n of instr */ @@ -418,3 +422,5 @@ extern void ARMul_FixSPSR (ARMul_State *, ARMword, ARMword); extern void ARMul_ConsolePrint (ARMul_State *, const char *, ...) ATTRIBUTE_PRINTF (2, 3); extern void ARMul_SelectProcessor (ARMul_State *, unsigned); + +#endif diff --git a/sim/arm/armemu.h b/sim/arm/armemu.h index 7f25b94d51c..318f1b76d20 100644 --- a/sim/arm/armemu.h +++ b/sim/arm/armemu.h @@ -14,6 +14,8 @@ You should have received a copy of the GNU General Public License along with this program; if not, see . */ +#include "armdefs.h" + extern ARMword isize; extern int trace; extern int disas; diff --git a/sim/arm/sim-main.h b/sim/arm/sim-main.h index 5ca01eb91c5..a08729b7460 100644 --- a/sim/arm/sim-main.h +++ b/sim/arm/sim-main.h @@ -22,9 +22,4 @@ #include "sim-basics.h" #include "sim-base.h" -#undef BIT -#include "armdefs.h" - -extern struct ARMul_State *state; - #endif diff --git a/sim/arm/wrapper.c b/sim/arm/wrapper.c index 7b1153298f1..5eb61df1437 100644 --- a/sim/arm/wrapper.c +++ b/sim/arm/wrapper.c @@ -41,6 +41,7 @@ #include "libiberty.h" #include "iwmmxt.h" #include "maverick.h" +#include "arm-sim.h" /* TODO: This should get pulled from the SIM_DESC. */ host_callback *sim_callback; -- cgit v1.2.1