aboutsummaryrefslogtreecommitdiff
path: root/sim/common
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2022-12-25 00:53:25 -0500
committerMike Frysinger <vapier@gentoo.org>2022-12-25 02:10:46 -0500
commit883be197745c9a9ea626cf0671e8bb0109d21a36 (patch)
tree0c19d5fa5fb39952a439f495c29c32e5ea777738 /sim/common
parentfc9b04458287e58365b1de8eaf6b626ac11743c2 (diff)
downloadgdb-883be197745c9a9ea626cf0671e8bb0109d21a36.zip
gdb-883be197745c9a9ea626cf0671e8bb0109d21a36.tar.gz
gdb-883be197745c9a9ea626cf0671e8bb0109d21a36.tar.bz2
sim: cpu: change default init to handle all cpus
All the runtimes were only initializing a single CPU. When SMP is enabled, things quickly crash as none of the other CPU structs are setup. Change the default from 0 to the compile time value.
Diffstat (limited to 'sim/common')
-rw-r--r--sim/common/sim-cpu.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/sim/common/sim-cpu.c b/sim/common/sim-cpu.c
index 024bd05..9f64d9d 100644
--- a/sim/common/sim-cpu.c
+++ b/sim/common/sim-cpu.c
@@ -35,8 +35,13 @@ sim_cpu_alloc_all_extra (SIM_DESC sd, int ncpus, size_t extra_bytes)
{
int c;
+ /* TODO: This should be a command line option for users to control. */
+ if (ncpus == 0)
+ ncpus = MAX_NR_PROCESSORS;
+
for (c = 0; c < ncpus; ++c)
STATE_CPU (sd, c) = sim_cpu_alloc_extra (sd, extra_bytes);
+
return SIM_RC_OK;
}