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.
This commit is contained in:
Mike Frysinger
2022-12-22 22:28:06 -05:00
parent e24a921d40
commit e50840893d
5 changed files with 35 additions and 5 deletions
+26
View File
@@ -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 <http://www.gnu.org/licenses/>. */
#ifndef ARM_SIM_H
#define ARM_SIM_H
#include "armdefs.h"
extern struct ARMul_State *state;
#endif
+6
View File
@@ -14,6 +14,9 @@
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 ARMDEFS_H
#define ARMDEFS_H
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
@@ -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
+2
View File
@@ -14,6 +14,8 @@
You should have received a copy of the GNU General Public License
along with this program; if not, see <http://www.gnu.org/licenses/>. */
#include "armdefs.h"
extern ARMword isize;
extern int trace;
extern int disas;
-5
View File
@@ -22,9 +22,4 @@
#include "sim-basics.h"
#include "sim-base.h"
#undef BIT
#include "armdefs.h"
extern struct ARMul_State *state;
#endif
+1
View File
@@ -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;