summaryrefslogtreecommitdiff
path: root/sim/moxie
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2015-04-16 02:11:12 -0400
committerMike Frysinger <vapier@gentoo.org>2015-04-17 02:44:30 -0400
commit034685f9ce92cf6dfb6656745365b6a5904a8e84 (patch)
treec4b591263048d0a9d89af68c9abd8e69786ed2f7 /sim/moxie
parent27b97b40bca216097d16d53fa9408a70cd281479 (diff)
downloadbinutils-gdb-034685f9ce92cf6dfb6656745365b6a5904a8e84.tar.gz
sim: replace CIA_{GET,SET} with CPU_PC_{GET,SET}
The CIA_{GET,SET} macros serve the same function as CPU_PC_{GET,SET} except the latter adds a layer of indirection via the sim state. This lets models set up different functions at runtime and doesn't reach so directly into the arch-specific cpu state. It also doesn't make sense to have two sets of macros that do exactly the same thing, so lets standardize on the one that gets us more.
Diffstat (limited to 'sim/moxie')
-rw-r--r--sim/moxie/ChangeLog6
-rw-r--r--sim/moxie/interp.c14
-rw-r--r--sim/moxie/sim-main.h3
3 files changed, 13 insertions, 10 deletions
diff --git a/sim/moxie/ChangeLog b/sim/moxie/ChangeLog
index 6f7e55b7e36..6bdad25bcce 100644
--- a/sim/moxie/ChangeLog
+++ b/sim/moxie/ChangeLog
@@ -1,3 +1,9 @@
+2015-04-17 Mike Frysinger <vapier@gentoo.org>
+
+ * interp.c (wbat, wsat, wlat, rsat, rbat, rlat, sim_engine_run):
+ Change CIA_GET to CPU_PC_GET.
+ * sim-main.h (CIA_GET, CIA_SET): Delete.
+
2015-04-16 Mike Frysinger <vapier@gentoo.org>
* interp.c (moxie_pc_get, moxie_pc_set): New functions.
diff --git a/sim/moxie/interp.c b/sim/moxie/interp.c
index fce6d817879..0fbb850b042 100644
--- a/sim/moxie/interp.c
+++ b/sim/moxie/interp.c
@@ -151,7 +151,7 @@ set_initial_gprs (void)
static INLINE void
wbat (sim_cpu *scpu, word pc, word x, word v)
{
- address_word cia = CIA_GET (scpu);
+ address_word cia = CPU_PC_GET (scpu);
sim_core_write_aligned_1 (scpu, cia, write_map, x, v);
}
@@ -161,7 +161,7 @@ wbat (sim_cpu *scpu, word pc, word x, word v)
static INLINE void
wsat (sim_cpu *scpu, word pc, word x, word v)
{
- address_word cia = CIA_GET (scpu);
+ address_word cia = CPU_PC_GET (scpu);
sim_core_write_aligned_2 (scpu, cia, write_map, x, v);
}
@@ -171,7 +171,7 @@ wsat (sim_cpu *scpu, word pc, word x, word v)
static INLINE void
wlat (sim_cpu *scpu, word pc, word x, word v)
{
- address_word cia = CIA_GET (scpu);
+ address_word cia = CPU_PC_GET (scpu);
sim_core_write_aligned_4 (scpu, cia, write_map, x, v);
}
@@ -181,7 +181,7 @@ wlat (sim_cpu *scpu, word pc, word x, word v)
static INLINE int
rsat (sim_cpu *scpu, word pc, word x)
{
- address_word cia = CIA_GET (scpu);
+ address_word cia = CPU_PC_GET (scpu);
return (sim_core_read_aligned_2 (scpu, cia, read_map, x));
}
@@ -191,7 +191,7 @@ rsat (sim_cpu *scpu, word pc, word x)
static INLINE int
rbat (sim_cpu *scpu, word pc, word x)
{
- address_word cia = CIA_GET (scpu);
+ address_word cia = CPU_PC_GET (scpu);
return (sim_core_read_aligned_1 (scpu, cia, read_map, x));
}
@@ -201,7 +201,7 @@ rbat (sim_cpu *scpu, word pc, word x)
static INLINE int
rlat (sim_cpu *scpu, word pc, word x)
{
- address_word cia = CIA_GET (scpu);
+ address_word cia = CPU_PC_GET (scpu);
return (sim_core_read_aligned_4 (scpu, cia, read_map, x));
}
@@ -243,7 +243,7 @@ sim_engine_run (SIM_DESC sd,
word pc, opc;
unsigned short inst;
sim_cpu *scpu = STATE_CPU (sd, 0); /* FIXME */
- address_word cia = CIA_GET (scpu);
+ address_word cia = CPU_PC_GET (scpu);
pc = cpu.asregs.regs[PC_REGNO];
diff --git a/sim/moxie/sim-main.h b/sim/moxie/sim-main.h
index 6a2174bc124..3dd53fffc77 100644
--- a/sim/moxie/sim-main.h
+++ b/sim/moxie/sim-main.h
@@ -34,8 +34,6 @@ typedef struct _sim_cpu SIM_CPU;
struct _sim_cpu {
/* The following are internal simulator state variables: */
-#define CIA_GET(CPU) ((CPU)->registers[PCIDX] + 0)
-#define CIA_SET(CPU,CIA) ((CPU)->registers[PCIDX] = (CIA))
/* To keep this default simulator simple, and fast, we use a direct
vector of registers. The internal simulator engine then uses
@@ -54,4 +52,3 @@ struct sim_state {
};
#endif
-