aboutsummaryrefslogtreecommitdiff
path: root/sim/common/sim-cpu.c
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2016-08-12 22:12:41 +0800
committerMike Frysinger <vapier@gentoo.org>2021-04-12 00:14:32 -0400
commitd5a71b1131778cf2a023855966831eb2457d50d6 (patch)
tree77243d6b326ca6dfa0ebb60446a9bc518b11617e /sim/common/sim-cpu.c
parent32d715691aa037f2838b41fa257c2e239d67c134 (diff)
downloadgdb-d5a71b1131778cf2a023855966831eb2457d50d6.zip
gdb-d5a71b1131778cf2a023855966831eb2457d50d6.tar.gz
gdb-d5a71b1131778cf2a023855966831eb2457d50d6.tar.bz2
sim: cgen: move cgen_cpu_max_extra_bytes logic into the common code
Every arch handles this the same way, so move it to the common code. This will also make unifying the sim_cpu structure easier.
Diffstat (limited to 'sim/common/sim-cpu.c')
-rw-r--r--sim/common/sim-cpu.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/sim/common/sim-cpu.c b/sim/common/sim-cpu.c
index a00846c..552e48c 100644
--- a/sim/common/sim-cpu.c
+++ b/sim/common/sim-cpu.c
@@ -23,17 +23,16 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */
#include "bfd.h"
/* Allocate space for all cpus in the simulator.
- Space for the cpu must currently exist prior to parsing ARGV.
- EXTRA_BYTES is additional space to allocate for the sim_cpu struct. */
+ Space for the cpu must currently exist prior to parsing ARGV. */
/* ??? wip. better solution must wait. */
SIM_RC
-sim_cpu_alloc_all (SIM_DESC sd, int ncpus, int extra_bytes)
+sim_cpu_alloc_all (SIM_DESC sd, int ncpus)
{
int c;
for (c = 0; c < ncpus; ++c)
- STATE_CPU (sd, c) = sim_cpu_alloc (sd, extra_bytes);
+ STATE_CPU (sd, c) = sim_cpu_alloc (sd);
return SIM_RC_OK;
}
@@ -41,8 +40,14 @@ sim_cpu_alloc_all (SIM_DESC sd, int ncpus, int extra_bytes)
EXTRA_BYTES is additional space to allocate for the sim_cpu struct. */
sim_cpu *
-sim_cpu_alloc (SIM_DESC sd, int extra_bytes)
+sim_cpu_alloc (SIM_DESC sd)
{
+ int extra_bytes = 0;
+
+#ifdef CGEN_ARCH
+ extra_bytes += cgen_cpu_max_extra_bytes ();
+#endif
+
return zalloc (sizeof (sim_cpu) + extra_bytes);
}