* [PATCH] sim: cgen: move cgen_cpu_max_extra_bytes logic into the common code
@ 2021-01-10 8:25 Mike Frysinger
2021-01-11 11:01 ` Andrew Burgess
0 siblings, 1 reply; 3+ messages in thread
From: Mike Frysinger @ 2021-01-10 8:25 UTC (permalink / raw)
To: gdb-patches
Every arch handles this the same way, so move it to the common code.
This will also make unifying the sim_cpu structure easier.
---
sim/arm/wrapper.c | 2 +-
sim/avr/interp.c | 2 +-
sim/bfin/interp.c | 2 +-
sim/bpf/sim-if.c | 3 +--
sim/common/sim-cpu.c | 4 ++++
sim/cr16/interp.c | 2 +-
sim/cris/sim-if.c | 2 +-
sim/d10v/interp.c | 2 +-
sim/frv/sim-if.c | 2 +-
sim/ft32/interp.c | 2 +-
sim/h8300/compile.c | 2 +-
sim/iq2000/sim-if.c | 2 +-
sim/lm32/sim-if.c | 2 +-
sim/m32r/sim-if.c | 2 +-
sim/m68hc11/interp.c | 2 +-
sim/mcore/interp.c | 2 +-
sim/microblaze/interp.c | 2 +-
sim/mips/interp.c | 2 +-
sim/mn10300/interp.c | 2 +-
sim/moxie/interp.c | 2 +-
sim/msp430/msp430-sim.c | 2 +-
sim/or1k/sim-if.c | 2 +-
sim/pru/interp.c | 2 +-
sim/sh/interp.c | 2 +-
sim/v850/interp.c | 2 +-
25 files changed, 28 insertions(+), 25 deletions(-)
diff --git a/sim/arm/wrapper.c b/sim/arm/wrapper.c
index 5fc753a71af2..7f0e1a5a35ef 100644
--- a/sim/arm/wrapper.c
+++ b/sim/arm/wrapper.c
@@ -800,7 +800,7 @@ sim_open (SIM_OPEN_KIND kind,
SIM_ASSERT (STATE_MAGIC (sd) == SIM_MAGIC_NUMBER);
/* The cpu data is kept in a separately allocated chunk of memory. */
- if (sim_cpu_alloc_all (sd, 1, /*cgen_cpu_max_extra_bytes ()*/0) != SIM_RC_OK)
+ if (sim_cpu_alloc_all (sd, 1, 0) != SIM_RC_OK)
{
free_state (sd);
return 0;
diff --git a/sim/avr/interp.c b/sim/avr/interp.c
index deaf711e1040..837cca6181cd 100644
--- a/sim/avr/interp.c
+++ b/sim/avr/interp.c
@@ -1685,7 +1685,7 @@ sim_open (SIM_OPEN_KIND kind, host_callback *cb,
SIM_ASSERT (STATE_MAGIC (sd) == SIM_MAGIC_NUMBER);
/* The cpu data is kept in a separately allocated chunk of memory. */
- if (sim_cpu_alloc_all (sd, 1, /*cgen_cpu_max_extra_bytes ()*/0) != SIM_RC_OK)
+ if (sim_cpu_alloc_all (sd, 1, 0) != SIM_RC_OK)
{
free_state (sd);
return 0;
diff --git a/sim/bfin/interp.c b/sim/bfin/interp.c
index e26a8221b20a..0470991a40e7 100644
--- a/sim/bfin/interp.c
+++ b/sim/bfin/interp.c
@@ -723,7 +723,7 @@ sim_open (SIM_OPEN_KIND kind, host_callback *callback,
SIM_DESC sd = sim_state_alloc (kind, callback);
/* The cpu data is kept in a separately allocated chunk of memory. */
- if (sim_cpu_alloc_all (sd, 1, /*cgen_cpu_max_extra_bytes ()*/0) != SIM_RC_OK)
+ if (sim_cpu_alloc_all (sd, 1, 0) != SIM_RC_OK)
{
free_state (sd);
return 0;
diff --git a/sim/bpf/sim-if.c b/sim/bpf/sim-if.c
index ad75ac4affa6..1d77c4f937d3 100644
--- a/sim/bpf/sim-if.c
+++ b/sim/bpf/sim-if.c
@@ -122,8 +122,7 @@ sim_open (SIM_OPEN_KIND kind,
SIM_DESC sd = sim_state_alloc (kind, callback);
- if (sim_cpu_alloc_all (sd, 1, cgen_cpu_max_extra_bytes ())
- != SIM_RC_OK)
+ if (sim_cpu_alloc_all (sd, 1, 0) != SIM_RC_OK)
goto error;
if (sim_pre_argv_init (sd, argv[0]) != SIM_RC_OK)
diff --git a/sim/common/sim-cpu.c b/sim/common/sim-cpu.c
index a00846cd4c6a..a7aa13e6fb2b 100644
--- a/sim/common/sim-cpu.c
+++ b/sim/common/sim-cpu.c
@@ -43,6 +43,10 @@ sim_cpu_alloc_all (SIM_DESC sd, int ncpus, int extra_bytes)
sim_cpu *
sim_cpu_alloc (SIM_DESC sd, int extra_bytes)
{
+#ifdef CGEN_ARCH
+ extra_bytes += cgen_cpu_max_extra_bytes ();
+#endif
+
return zalloc (sizeof (sim_cpu) + extra_bytes);
}
diff --git a/sim/cr16/interp.c b/sim/cr16/interp.c
index cff7b8857189..fb63b1954cc1 100644
--- a/sim/cr16/interp.c
+++ b/sim/cr16/interp.c
@@ -397,7 +397,7 @@ sim_open (SIM_OPEN_KIND kind, struct host_callback_struct *cb,
SIM_ASSERT (STATE_MAGIC (sd) == SIM_MAGIC_NUMBER);
/* The cpu data is kept in a separately allocated chunk of memory. */
- if (sim_cpu_alloc_all (sd, 1, /*cgen_cpu_max_extra_bytes ()*/0) != SIM_RC_OK)
+ if (sim_cpu_alloc_all (sd, 1, 0) != SIM_RC_OK)
{
free_state (sd);
return 0;
diff --git a/sim/cris/sim-if.c b/sim/cris/sim-if.c
index b8c7cb2a96e7..3e1bff0de6c3 100644
--- a/sim/cris/sim-if.c
+++ b/sim/cris/sim-if.c
@@ -661,7 +661,7 @@ sim_open (SIM_OPEN_KIND kind, host_callback *callback, struct bfd *abfd,
bfd_byte sp_init[4] = {0, 0, 0, 0};
/* The cpu data is kept in a separately allocated chunk of memory. */
- if (sim_cpu_alloc_all (sd, 1, cgen_cpu_max_extra_bytes ()) != SIM_RC_OK)
+ if (sim_cpu_alloc_all (sd, 1, 0) != SIM_RC_OK)
{
free_state (sd);
return 0;
diff --git a/sim/d10v/interp.c b/sim/d10v/interp.c
index 5c70b38d9d8f..d0272e816213 100644
--- a/sim/d10v/interp.c
+++ b/sim/d10v/interp.c
@@ -760,7 +760,7 @@ sim_open (SIM_OPEN_KIND kind, host_callback *cb,
SIM_ASSERT (STATE_MAGIC (sd) == SIM_MAGIC_NUMBER);
/* The cpu data is kept in a separately allocated chunk of memory. */
- if (sim_cpu_alloc_all (sd, 1, /*cgen_cpu_max_extra_bytes ()*/0) != SIM_RC_OK)
+ if (sim_cpu_alloc_all (sd, 1, 0) != SIM_RC_OK)
{
free_state (sd);
return 0;
diff --git a/sim/frv/sim-if.c b/sim/frv/sim-if.c
index 2eb6e6da5f3f..da41f1e97608 100644
--- a/sim/frv/sim-if.c
+++ b/sim/frv/sim-if.c
@@ -57,7 +57,7 @@ sim_open (kind, callback, abfd, argv)
SIM_DESC sd = sim_state_alloc (kind, callback);
/* The cpu data is kept in a separately allocated chunk of memory. */
- if (sim_cpu_alloc_all (sd, 1, cgen_cpu_max_extra_bytes ()) != SIM_RC_OK)
+ if (sim_cpu_alloc_all (sd, 1, 0) != SIM_RC_OK)
{
free_state (sd);
return 0;
diff --git a/sim/ft32/interp.c b/sim/ft32/interp.c
index 1b3db9bc0082..ecf33054a17c 100644
--- a/sim/ft32/interp.c
+++ b/sim/ft32/interp.c
@@ -807,7 +807,7 @@ sim_open (SIM_OPEN_KIND kind,
SIM_DESC sd = sim_state_alloc (kind, cb);
/* The cpu data is kept in a separately allocated chunk of memory. */
- if (sim_cpu_alloc_all (sd, 1, /*cgen_cpu_max_extra_bytes ()*/0) != SIM_RC_OK)
+ if (sim_cpu_alloc_all (sd, 1, 0) != SIM_RC_OK)
{
free_state (sd);
return 0;
diff --git a/sim/h8300/compile.c b/sim/h8300/compile.c
index 3a3b2e7241bb..644da035694e 100644
--- a/sim/h8300/compile.c
+++ b/sim/h8300/compile.c
@@ -4712,7 +4712,7 @@ sim_open (SIM_OPEN_KIND kind,
sd = sim_state_alloc (kind, callback);
/* The cpu data is kept in a separately allocated chunk of memory. */
- if (sim_cpu_alloc_all (sd, 1, /*cgen_cpu_max_extra_bytes ()*/0) != SIM_RC_OK)
+ if (sim_cpu_alloc_all (sd, 1, 0) != SIM_RC_OK)
{
free_state (sd);
return 0;
diff --git a/sim/iq2000/sim-if.c b/sim/iq2000/sim-if.c
index 238ec97e47db..95796704081b 100644
--- a/sim/iq2000/sim-if.c
+++ b/sim/iq2000/sim-if.c
@@ -61,7 +61,7 @@ sim_open (kind, callback, abfd, argv)
SIM_DESC sd = sim_state_alloc (kind, callback);
/* The cpu data is kept in a separately allocated chunk of memory. */
- if (sim_cpu_alloc_all (sd, 1, cgen_cpu_max_extra_bytes ()) != SIM_RC_OK)
+ if (sim_cpu_alloc_all (sd, 1, 0) != SIM_RC_OK)
{
free_state (sd);
return 0;
diff --git a/sim/lm32/sim-if.c b/sim/lm32/sim-if.c
index cbe975113b3d..14d120545eb6 100644
--- a/sim/lm32/sim-if.c
+++ b/sim/lm32/sim-if.c
@@ -94,7 +94,7 @@ sim_open (kind, callback, abfd, argv)
unsigned long base, limit;
/* The cpu data is kept in a separately allocated chunk of memory. */
- if (sim_cpu_alloc_all (sd, 1, cgen_cpu_max_extra_bytes ()) != SIM_RC_OK)
+ if (sim_cpu_alloc_all (sd, 1, 0) != SIM_RC_OK)
{
free_state (sd);
return 0;
diff --git a/sim/m32r/sim-if.c b/sim/m32r/sim-if.c
index c25d9a859c2c..3525259c328d 100644
--- a/sim/m32r/sim-if.c
+++ b/sim/m32r/sim-if.c
@@ -63,7 +63,7 @@ sim_open (kind, callback, abfd, argv)
int i;
/* The cpu data is kept in a separately allocated chunk of memory. */
- if (sim_cpu_alloc_all (sd, 1, cgen_cpu_max_extra_bytes ()) != SIM_RC_OK)
+ if (sim_cpu_alloc_all (sd, 1, 0) != SIM_RC_OK)
{
free_state (sd);
return 0;
diff --git a/sim/m68hc11/interp.c b/sim/m68hc11/interp.c
index 26f2d1527beb..93641b2a205a 100644
--- a/sim/m68hc11/interp.c
+++ b/sim/m68hc11/interp.c
@@ -404,7 +404,7 @@ sim_open (SIM_OPEN_KIND kind, host_callback *callback,
SIM_ASSERT (STATE_MAGIC (sd) == SIM_MAGIC_NUMBER);
/* The cpu data is kept in a separately allocated chunk of memory. */
- if (sim_cpu_alloc_all (sd, 1, /*cgen_cpu_max_extra_bytes ()*/0) != SIM_RC_OK)
+ if (sim_cpu_alloc_all (sd, 1, 0) != SIM_RC_OK)
{
free_state (sd);
return 0;
diff --git a/sim/mcore/interp.c b/sim/mcore/interp.c
index 9981517e1e69..5f17bbd88a53 100644
--- a/sim/mcore/interp.c
+++ b/sim/mcore/interp.c
@@ -1349,7 +1349,7 @@ sim_open (SIM_OPEN_KIND kind, host_callback *cb,
SIM_ASSERT (STATE_MAGIC (sd) == SIM_MAGIC_NUMBER);
/* The cpu data is kept in a separately allocated chunk of memory. */
- if (sim_cpu_alloc_all (sd, 1, /*cgen_cpu_max_extra_bytes ()*/0) != SIM_RC_OK)
+ if (sim_cpu_alloc_all (sd, 1, 0) != SIM_RC_OK)
{
free_state (sd);
return 0;
diff --git a/sim/microblaze/interp.c b/sim/microblaze/interp.c
index 5b125a64da27..b3d1a849db1a 100644
--- a/sim/microblaze/interp.c
+++ b/sim/microblaze/interp.c
@@ -393,7 +393,7 @@ sim_open (SIM_OPEN_KIND kind, host_callback *cb,
SIM_ASSERT (STATE_MAGIC (sd) == SIM_MAGIC_NUMBER);
/* The cpu data is kept in a separately allocated chunk of memory. */
- if (sim_cpu_alloc_all (sd, 1, /*cgen_cpu_max_extra_bytes ()*/0) != SIM_RC_OK)
+ if (sim_cpu_alloc_all (sd, 1, 0) != SIM_RC_OK)
{
free_state (sd);
return 0;
diff --git a/sim/mips/interp.c b/sim/mips/interp.c
index 9dbac8c58fc7..13fe58645236 100644
--- a/sim/mips/interp.c
+++ b/sim/mips/interp.c
@@ -357,7 +357,7 @@ sim_open (SIM_OPEN_KIND kind, host_callback *cb,
SIM_ASSERT (STATE_MAGIC (sd) == SIM_MAGIC_NUMBER);
/* The cpu data is kept in a separately allocated chunk of memory. */
- if (sim_cpu_alloc_all (sd, 1, /*cgen_cpu_max_extra_bytes ()*/0) != SIM_RC_OK)
+ if (sim_cpu_alloc_all (sd, 1, 0) != SIM_RC_OK)
return 0;
cpu = STATE_CPU (sd, 0); /* FIXME */
diff --git a/sim/mn10300/interp.c b/sim/mn10300/interp.c
index 7f0655f3f472..376243edf0e4 100644
--- a/sim/mn10300/interp.c
+++ b/sim/mn10300/interp.c
@@ -103,7 +103,7 @@ sim_open (SIM_OPEN_KIND kind,
SIM_ASSERT (STATE_MAGIC (sd) == SIM_MAGIC_NUMBER);
/* The cpu data is kept in a separately allocated chunk of memory. */
- if (sim_cpu_alloc_all (sd, 1, /*cgen_cpu_max_extra_bytes ()*/0) != SIM_RC_OK)
+ if (sim_cpu_alloc_all (sd, 1, 0) != SIM_RC_OK)
return 0;
/* for compatibility */
diff --git a/sim/moxie/interp.c b/sim/moxie/interp.c
index f895af6f1bb4..7d04bd22d1e4 100644
--- a/sim/moxie/interp.c
+++ b/sim/moxie/interp.c
@@ -1197,7 +1197,7 @@ sim_open (SIM_OPEN_KIND kind, host_callback *cb,
SIM_ASSERT (STATE_MAGIC (sd) == SIM_MAGIC_NUMBER);
/* The cpu data is kept in a separately allocated chunk of memory. */
- if (sim_cpu_alloc_all (sd, 1, /*cgen_cpu_max_extra_bytes ()*/0) != SIM_RC_OK)
+ if (sim_cpu_alloc_all (sd, 1, 0) != SIM_RC_OK)
{
free_state (sd);
return 0;
diff --git a/sim/msp430/msp430-sim.c b/sim/msp430/msp430-sim.c
index ea7a157231cf..982fc9fd5c0d 100644
--- a/sim/msp430/msp430-sim.c
+++ b/sim/msp430/msp430-sim.c
@@ -110,7 +110,7 @@ sim_open (SIM_OPEN_KIND kind,
/* Initialise the simulator. */
- if (sim_cpu_alloc_all (sd, 1, /*cgen_cpu_max_extra_bytes ()*/0) != SIM_RC_OK)
+ if (sim_cpu_alloc_all (sd, 1, 0) != SIM_RC_OK)
{
sim_state_free (sd);
return 0;
diff --git a/sim/or1k/sim-if.c b/sim/or1k/sim-if.c
index 18f70387063f..e022c7eab61b 100644
--- a/sim/or1k/sim-if.c
+++ b/sim/or1k/sim-if.c
@@ -166,7 +166,7 @@ sim_open (SIM_OPEN_KIND kind, host_callback *callback, struct bfd *abfd,
int i;
/* The cpu data is kept in a separately allocated chunk of memory. */
- if (sim_cpu_alloc_all (sd, 1, cgen_cpu_max_extra_bytes ()) != SIM_RC_OK)
+ if (sim_cpu_alloc_all (sd, 1, 0) != SIM_RC_OK)
{
free_state (sd);
return 0;
diff --git a/sim/pru/interp.c b/sim/pru/interp.c
index 2933075bd08f..090a28537d4b 100644
--- a/sim/pru/interp.c
+++ b/sim/pru/interp.c
@@ -744,7 +744,7 @@ sim_open (SIM_OPEN_KIND kind, host_callback *cb,
SIM_ASSERT (STATE_MAGIC (sd) == SIM_MAGIC_NUMBER);
/* The cpu data is kept in a separately allocated chunk of memory. */
- if (sim_cpu_alloc_all (sd, 1, /*cgen_cpu_max_extra_bytes ()*/0) != SIM_RC_OK)
+ if (sim_cpu_alloc_all (sd, 1, 0) != SIM_RC_OK)
{
free_state (sd);
return 0;
diff --git a/sim/sh/interp.c b/sim/sh/interp.c
index c77cf3b1d3bf..2267bedfb8b8 100644
--- a/sim/sh/interp.c
+++ b/sim/sh/interp.c
@@ -2373,7 +2373,7 @@ sim_open (SIM_OPEN_KIND kind, host_callback *cb,
SIM_ASSERT (STATE_MAGIC (sd) == SIM_MAGIC_NUMBER);
/* The cpu data is kept in a separately allocated chunk of memory. */
- if (sim_cpu_alloc_all (sd, 1, /*cgen_cpu_max_extra_bytes ()*/0) != SIM_RC_OK)
+ if (sim_cpu_alloc_all (sd, 1, 0) != SIM_RC_OK)
{
free_state (sd);
return 0;
diff --git a/sim/v850/interp.c b/sim/v850/interp.c
index daf961801768..7a9fabae2834 100644
--- a/sim/v850/interp.c
+++ b/sim/v850/interp.c
@@ -204,7 +204,7 @@ sim_open (SIM_OPEN_KIND kind,
SIM_ASSERT (STATE_MAGIC (sd) == SIM_MAGIC_NUMBER);
/* The cpu data is kept in a separately allocated chunk of memory. */
- if (sim_cpu_alloc_all (sd, 1, /*cgen_cpu_max_extra_bytes ()*/0) != SIM_RC_OK)
+ if (sim_cpu_alloc_all (sd, 1, 0) != SIM_RC_OK)
return 0;
/* for compatibility */
--
2.28.0
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] sim: cgen: move cgen_cpu_max_extra_bytes logic into the common code
2021-01-10 8:25 [PATCH] sim: cgen: move cgen_cpu_max_extra_bytes logic into the common code Mike Frysinger
@ 2021-01-11 11:01 ` Andrew Burgess
2021-01-11 22:07 ` Mike Frysinger
0 siblings, 1 reply; 3+ messages in thread
From: Andrew Burgess @ 2021-01-11 11:01 UTC (permalink / raw)
To: Mike Frysinger; +Cc: gdb-patches
* Mike Frysinger via Gdb-patches <gdb-patches@sourceware.org> [2021-01-10 03:25:03 -0500]:
> Every arch handles this the same way, so move it to the common code.
> This will also make unifying the sim_cpu structure easier.
Please can you include the ChangeLog entries with the patch
submissions.
Could we not remove the `extra_bytes` parameter from sim_cpu_alloc_all
now? As far as I can tell it is always passed as 0? Or have I missed
something?
Thanks,
Andrew
> ---
> sim/arm/wrapper.c | 2 +-
> sim/avr/interp.c | 2 +-
> sim/bfin/interp.c | 2 +-
> sim/bpf/sim-if.c | 3 +--
> sim/common/sim-cpu.c | 4 ++++
> sim/cr16/interp.c | 2 +-
> sim/cris/sim-if.c | 2 +-
> sim/d10v/interp.c | 2 +-
> sim/frv/sim-if.c | 2 +-
> sim/ft32/interp.c | 2 +-
> sim/h8300/compile.c | 2 +-
> sim/iq2000/sim-if.c | 2 +-
> sim/lm32/sim-if.c | 2 +-
> sim/m32r/sim-if.c | 2 +-
> sim/m68hc11/interp.c | 2 +-
> sim/mcore/interp.c | 2 +-
> sim/microblaze/interp.c | 2 +-
> sim/mips/interp.c | 2 +-
> sim/mn10300/interp.c | 2 +-
> sim/moxie/interp.c | 2 +-
> sim/msp430/msp430-sim.c | 2 +-
> sim/or1k/sim-if.c | 2 +-
> sim/pru/interp.c | 2 +-
> sim/sh/interp.c | 2 +-
> sim/v850/interp.c | 2 +-
> 25 files changed, 28 insertions(+), 25 deletions(-)
>
> diff --git a/sim/arm/wrapper.c b/sim/arm/wrapper.c
> index 5fc753a71af2..7f0e1a5a35ef 100644
> --- a/sim/arm/wrapper.c
> +++ b/sim/arm/wrapper.c
> @@ -800,7 +800,7 @@ sim_open (SIM_OPEN_KIND kind,
> SIM_ASSERT (STATE_MAGIC (sd) == SIM_MAGIC_NUMBER);
>
> /* The cpu data is kept in a separately allocated chunk of memory. */
> - if (sim_cpu_alloc_all (sd, 1, /*cgen_cpu_max_extra_bytes ()*/0) != SIM_RC_OK)
> + if (sim_cpu_alloc_all (sd, 1, 0) != SIM_RC_OK)
> {
> free_state (sd);
> return 0;
> diff --git a/sim/avr/interp.c b/sim/avr/interp.c
> index deaf711e1040..837cca6181cd 100644
> --- a/sim/avr/interp.c
> +++ b/sim/avr/interp.c
> @@ -1685,7 +1685,7 @@ sim_open (SIM_OPEN_KIND kind, host_callback *cb,
> SIM_ASSERT (STATE_MAGIC (sd) == SIM_MAGIC_NUMBER);
>
> /* The cpu data is kept in a separately allocated chunk of memory. */
> - if (sim_cpu_alloc_all (sd, 1, /*cgen_cpu_max_extra_bytes ()*/0) != SIM_RC_OK)
> + if (sim_cpu_alloc_all (sd, 1, 0) != SIM_RC_OK)
> {
> free_state (sd);
> return 0;
> diff --git a/sim/bfin/interp.c b/sim/bfin/interp.c
> index e26a8221b20a..0470991a40e7 100644
> --- a/sim/bfin/interp.c
> +++ b/sim/bfin/interp.c
> @@ -723,7 +723,7 @@ sim_open (SIM_OPEN_KIND kind, host_callback *callback,
> SIM_DESC sd = sim_state_alloc (kind, callback);
>
> /* The cpu data is kept in a separately allocated chunk of memory. */
> - if (sim_cpu_alloc_all (sd, 1, /*cgen_cpu_max_extra_bytes ()*/0) != SIM_RC_OK)
> + if (sim_cpu_alloc_all (sd, 1, 0) != SIM_RC_OK)
> {
> free_state (sd);
> return 0;
> diff --git a/sim/bpf/sim-if.c b/sim/bpf/sim-if.c
> index ad75ac4affa6..1d77c4f937d3 100644
> --- a/sim/bpf/sim-if.c
> +++ b/sim/bpf/sim-if.c
> @@ -122,8 +122,7 @@ sim_open (SIM_OPEN_KIND kind,
>
> SIM_DESC sd = sim_state_alloc (kind, callback);
>
> - if (sim_cpu_alloc_all (sd, 1, cgen_cpu_max_extra_bytes ())
> - != SIM_RC_OK)
> + if (sim_cpu_alloc_all (sd, 1, 0) != SIM_RC_OK)
> goto error;
>
> if (sim_pre_argv_init (sd, argv[0]) != SIM_RC_OK)
> diff --git a/sim/common/sim-cpu.c b/sim/common/sim-cpu.c
> index a00846cd4c6a..a7aa13e6fb2b 100644
> --- a/sim/common/sim-cpu.c
> +++ b/sim/common/sim-cpu.c
> @@ -43,6 +43,10 @@ sim_cpu_alloc_all (SIM_DESC sd, int ncpus, int extra_bytes)
> sim_cpu *
> sim_cpu_alloc (SIM_DESC sd, int extra_bytes)
> {
> +#ifdef CGEN_ARCH
> + extra_bytes += cgen_cpu_max_extra_bytes ();
> +#endif
> +
> return zalloc (sizeof (sim_cpu) + extra_bytes);
> }
>
> diff --git a/sim/cr16/interp.c b/sim/cr16/interp.c
> index cff7b8857189..fb63b1954cc1 100644
> --- a/sim/cr16/interp.c
> +++ b/sim/cr16/interp.c
> @@ -397,7 +397,7 @@ sim_open (SIM_OPEN_KIND kind, struct host_callback_struct *cb,
> SIM_ASSERT (STATE_MAGIC (sd) == SIM_MAGIC_NUMBER);
>
> /* The cpu data is kept in a separately allocated chunk of memory. */
> - if (sim_cpu_alloc_all (sd, 1, /*cgen_cpu_max_extra_bytes ()*/0) != SIM_RC_OK)
> + if (sim_cpu_alloc_all (sd, 1, 0) != SIM_RC_OK)
> {
> free_state (sd);
> return 0;
> diff --git a/sim/cris/sim-if.c b/sim/cris/sim-if.c
> index b8c7cb2a96e7..3e1bff0de6c3 100644
> --- a/sim/cris/sim-if.c
> +++ b/sim/cris/sim-if.c
> @@ -661,7 +661,7 @@ sim_open (SIM_OPEN_KIND kind, host_callback *callback, struct bfd *abfd,
> bfd_byte sp_init[4] = {0, 0, 0, 0};
>
> /* The cpu data is kept in a separately allocated chunk of memory. */
> - if (sim_cpu_alloc_all (sd, 1, cgen_cpu_max_extra_bytes ()) != SIM_RC_OK)
> + if (sim_cpu_alloc_all (sd, 1, 0) != SIM_RC_OK)
> {
> free_state (sd);
> return 0;
> diff --git a/sim/d10v/interp.c b/sim/d10v/interp.c
> index 5c70b38d9d8f..d0272e816213 100644
> --- a/sim/d10v/interp.c
> +++ b/sim/d10v/interp.c
> @@ -760,7 +760,7 @@ sim_open (SIM_OPEN_KIND kind, host_callback *cb,
> SIM_ASSERT (STATE_MAGIC (sd) == SIM_MAGIC_NUMBER);
>
> /* The cpu data is kept in a separately allocated chunk of memory. */
> - if (sim_cpu_alloc_all (sd, 1, /*cgen_cpu_max_extra_bytes ()*/0) != SIM_RC_OK)
> + if (sim_cpu_alloc_all (sd, 1, 0) != SIM_RC_OK)
> {
> free_state (sd);
> return 0;
> diff --git a/sim/frv/sim-if.c b/sim/frv/sim-if.c
> index 2eb6e6da5f3f..da41f1e97608 100644
> --- a/sim/frv/sim-if.c
> +++ b/sim/frv/sim-if.c
> @@ -57,7 +57,7 @@ sim_open (kind, callback, abfd, argv)
> SIM_DESC sd = sim_state_alloc (kind, callback);
>
> /* The cpu data is kept in a separately allocated chunk of memory. */
> - if (sim_cpu_alloc_all (sd, 1, cgen_cpu_max_extra_bytes ()) != SIM_RC_OK)
> + if (sim_cpu_alloc_all (sd, 1, 0) != SIM_RC_OK)
> {
> free_state (sd);
> return 0;
> diff --git a/sim/ft32/interp.c b/sim/ft32/interp.c
> index 1b3db9bc0082..ecf33054a17c 100644
> --- a/sim/ft32/interp.c
> +++ b/sim/ft32/interp.c
> @@ -807,7 +807,7 @@ sim_open (SIM_OPEN_KIND kind,
> SIM_DESC sd = sim_state_alloc (kind, cb);
>
> /* The cpu data is kept in a separately allocated chunk of memory. */
> - if (sim_cpu_alloc_all (sd, 1, /*cgen_cpu_max_extra_bytes ()*/0) != SIM_RC_OK)
> + if (sim_cpu_alloc_all (sd, 1, 0) != SIM_RC_OK)
> {
> free_state (sd);
> return 0;
> diff --git a/sim/h8300/compile.c b/sim/h8300/compile.c
> index 3a3b2e7241bb..644da035694e 100644
> --- a/sim/h8300/compile.c
> +++ b/sim/h8300/compile.c
> @@ -4712,7 +4712,7 @@ sim_open (SIM_OPEN_KIND kind,
> sd = sim_state_alloc (kind, callback);
>
> /* The cpu data is kept in a separately allocated chunk of memory. */
> - if (sim_cpu_alloc_all (sd, 1, /*cgen_cpu_max_extra_bytes ()*/0) != SIM_RC_OK)
> + if (sim_cpu_alloc_all (sd, 1, 0) != SIM_RC_OK)
> {
> free_state (sd);
> return 0;
> diff --git a/sim/iq2000/sim-if.c b/sim/iq2000/sim-if.c
> index 238ec97e47db..95796704081b 100644
> --- a/sim/iq2000/sim-if.c
> +++ b/sim/iq2000/sim-if.c
> @@ -61,7 +61,7 @@ sim_open (kind, callback, abfd, argv)
> SIM_DESC sd = sim_state_alloc (kind, callback);
>
> /* The cpu data is kept in a separately allocated chunk of memory. */
> - if (sim_cpu_alloc_all (sd, 1, cgen_cpu_max_extra_bytes ()) != SIM_RC_OK)
> + if (sim_cpu_alloc_all (sd, 1, 0) != SIM_RC_OK)
> {
> free_state (sd);
> return 0;
> diff --git a/sim/lm32/sim-if.c b/sim/lm32/sim-if.c
> index cbe975113b3d..14d120545eb6 100644
> --- a/sim/lm32/sim-if.c
> +++ b/sim/lm32/sim-if.c
> @@ -94,7 +94,7 @@ sim_open (kind, callback, abfd, argv)
> unsigned long base, limit;
>
> /* The cpu data is kept in a separately allocated chunk of memory. */
> - if (sim_cpu_alloc_all (sd, 1, cgen_cpu_max_extra_bytes ()) != SIM_RC_OK)
> + if (sim_cpu_alloc_all (sd, 1, 0) != SIM_RC_OK)
> {
> free_state (sd);
> return 0;
> diff --git a/sim/m32r/sim-if.c b/sim/m32r/sim-if.c
> index c25d9a859c2c..3525259c328d 100644
> --- a/sim/m32r/sim-if.c
> +++ b/sim/m32r/sim-if.c
> @@ -63,7 +63,7 @@ sim_open (kind, callback, abfd, argv)
> int i;
>
> /* The cpu data is kept in a separately allocated chunk of memory. */
> - if (sim_cpu_alloc_all (sd, 1, cgen_cpu_max_extra_bytes ()) != SIM_RC_OK)
> + if (sim_cpu_alloc_all (sd, 1, 0) != SIM_RC_OK)
> {
> free_state (sd);
> return 0;
> diff --git a/sim/m68hc11/interp.c b/sim/m68hc11/interp.c
> index 26f2d1527beb..93641b2a205a 100644
> --- a/sim/m68hc11/interp.c
> +++ b/sim/m68hc11/interp.c
> @@ -404,7 +404,7 @@ sim_open (SIM_OPEN_KIND kind, host_callback *callback,
> SIM_ASSERT (STATE_MAGIC (sd) == SIM_MAGIC_NUMBER);
>
> /* The cpu data is kept in a separately allocated chunk of memory. */
> - if (sim_cpu_alloc_all (sd, 1, /*cgen_cpu_max_extra_bytes ()*/0) != SIM_RC_OK)
> + if (sim_cpu_alloc_all (sd, 1, 0) != SIM_RC_OK)
> {
> free_state (sd);
> return 0;
> diff --git a/sim/mcore/interp.c b/sim/mcore/interp.c
> index 9981517e1e69..5f17bbd88a53 100644
> --- a/sim/mcore/interp.c
> +++ b/sim/mcore/interp.c
> @@ -1349,7 +1349,7 @@ sim_open (SIM_OPEN_KIND kind, host_callback *cb,
> SIM_ASSERT (STATE_MAGIC (sd) == SIM_MAGIC_NUMBER);
>
> /* The cpu data is kept in a separately allocated chunk of memory. */
> - if (sim_cpu_alloc_all (sd, 1, /*cgen_cpu_max_extra_bytes ()*/0) != SIM_RC_OK)
> + if (sim_cpu_alloc_all (sd, 1, 0) != SIM_RC_OK)
> {
> free_state (sd);
> return 0;
> diff --git a/sim/microblaze/interp.c b/sim/microblaze/interp.c
> index 5b125a64da27..b3d1a849db1a 100644
> --- a/sim/microblaze/interp.c
> +++ b/sim/microblaze/interp.c
> @@ -393,7 +393,7 @@ sim_open (SIM_OPEN_KIND kind, host_callback *cb,
> SIM_ASSERT (STATE_MAGIC (sd) == SIM_MAGIC_NUMBER);
>
> /* The cpu data is kept in a separately allocated chunk of memory. */
> - if (sim_cpu_alloc_all (sd, 1, /*cgen_cpu_max_extra_bytes ()*/0) != SIM_RC_OK)
> + if (sim_cpu_alloc_all (sd, 1, 0) != SIM_RC_OK)
> {
> free_state (sd);
> return 0;
> diff --git a/sim/mips/interp.c b/sim/mips/interp.c
> index 9dbac8c58fc7..13fe58645236 100644
> --- a/sim/mips/interp.c
> +++ b/sim/mips/interp.c
> @@ -357,7 +357,7 @@ sim_open (SIM_OPEN_KIND kind, host_callback *cb,
> SIM_ASSERT (STATE_MAGIC (sd) == SIM_MAGIC_NUMBER);
>
> /* The cpu data is kept in a separately allocated chunk of memory. */
> - if (sim_cpu_alloc_all (sd, 1, /*cgen_cpu_max_extra_bytes ()*/0) != SIM_RC_OK)
> + if (sim_cpu_alloc_all (sd, 1, 0) != SIM_RC_OK)
> return 0;
>
> cpu = STATE_CPU (sd, 0); /* FIXME */
> diff --git a/sim/mn10300/interp.c b/sim/mn10300/interp.c
> index 7f0655f3f472..376243edf0e4 100644
> --- a/sim/mn10300/interp.c
> +++ b/sim/mn10300/interp.c
> @@ -103,7 +103,7 @@ sim_open (SIM_OPEN_KIND kind,
> SIM_ASSERT (STATE_MAGIC (sd) == SIM_MAGIC_NUMBER);
>
> /* The cpu data is kept in a separately allocated chunk of memory. */
> - if (sim_cpu_alloc_all (sd, 1, /*cgen_cpu_max_extra_bytes ()*/0) != SIM_RC_OK)
> + if (sim_cpu_alloc_all (sd, 1, 0) != SIM_RC_OK)
> return 0;
>
> /* for compatibility */
> diff --git a/sim/moxie/interp.c b/sim/moxie/interp.c
> index f895af6f1bb4..7d04bd22d1e4 100644
> --- a/sim/moxie/interp.c
> +++ b/sim/moxie/interp.c
> @@ -1197,7 +1197,7 @@ sim_open (SIM_OPEN_KIND kind, host_callback *cb,
> SIM_ASSERT (STATE_MAGIC (sd) == SIM_MAGIC_NUMBER);
>
> /* The cpu data is kept in a separately allocated chunk of memory. */
> - if (sim_cpu_alloc_all (sd, 1, /*cgen_cpu_max_extra_bytes ()*/0) != SIM_RC_OK)
> + if (sim_cpu_alloc_all (sd, 1, 0) != SIM_RC_OK)
> {
> free_state (sd);
> return 0;
> diff --git a/sim/msp430/msp430-sim.c b/sim/msp430/msp430-sim.c
> index ea7a157231cf..982fc9fd5c0d 100644
> --- a/sim/msp430/msp430-sim.c
> +++ b/sim/msp430/msp430-sim.c
> @@ -110,7 +110,7 @@ sim_open (SIM_OPEN_KIND kind,
>
> /* Initialise the simulator. */
>
> - if (sim_cpu_alloc_all (sd, 1, /*cgen_cpu_max_extra_bytes ()*/0) != SIM_RC_OK)
> + if (sim_cpu_alloc_all (sd, 1, 0) != SIM_RC_OK)
> {
> sim_state_free (sd);
> return 0;
> diff --git a/sim/or1k/sim-if.c b/sim/or1k/sim-if.c
> index 18f70387063f..e022c7eab61b 100644
> --- a/sim/or1k/sim-if.c
> +++ b/sim/or1k/sim-if.c
> @@ -166,7 +166,7 @@ sim_open (SIM_OPEN_KIND kind, host_callback *callback, struct bfd *abfd,
> int i;
>
> /* The cpu data is kept in a separately allocated chunk of memory. */
> - if (sim_cpu_alloc_all (sd, 1, cgen_cpu_max_extra_bytes ()) != SIM_RC_OK)
> + if (sim_cpu_alloc_all (sd, 1, 0) != SIM_RC_OK)
> {
> free_state (sd);
> return 0;
> diff --git a/sim/pru/interp.c b/sim/pru/interp.c
> index 2933075bd08f..090a28537d4b 100644
> --- a/sim/pru/interp.c
> +++ b/sim/pru/interp.c
> @@ -744,7 +744,7 @@ sim_open (SIM_OPEN_KIND kind, host_callback *cb,
> SIM_ASSERT (STATE_MAGIC (sd) == SIM_MAGIC_NUMBER);
>
> /* The cpu data is kept in a separately allocated chunk of memory. */
> - if (sim_cpu_alloc_all (sd, 1, /*cgen_cpu_max_extra_bytes ()*/0) != SIM_RC_OK)
> + if (sim_cpu_alloc_all (sd, 1, 0) != SIM_RC_OK)
> {
> free_state (sd);
> return 0;
> diff --git a/sim/sh/interp.c b/sim/sh/interp.c
> index c77cf3b1d3bf..2267bedfb8b8 100644
> --- a/sim/sh/interp.c
> +++ b/sim/sh/interp.c
> @@ -2373,7 +2373,7 @@ sim_open (SIM_OPEN_KIND kind, host_callback *cb,
> SIM_ASSERT (STATE_MAGIC (sd) == SIM_MAGIC_NUMBER);
>
> /* The cpu data is kept in a separately allocated chunk of memory. */
> - if (sim_cpu_alloc_all (sd, 1, /*cgen_cpu_max_extra_bytes ()*/0) != SIM_RC_OK)
> + if (sim_cpu_alloc_all (sd, 1, 0) != SIM_RC_OK)
> {
> free_state (sd);
> return 0;
> diff --git a/sim/v850/interp.c b/sim/v850/interp.c
> index daf961801768..7a9fabae2834 100644
> --- a/sim/v850/interp.c
> +++ b/sim/v850/interp.c
> @@ -204,7 +204,7 @@ sim_open (SIM_OPEN_KIND kind,
> SIM_ASSERT (STATE_MAGIC (sd) == SIM_MAGIC_NUMBER);
>
> /* The cpu data is kept in a separately allocated chunk of memory. */
> - if (sim_cpu_alloc_all (sd, 1, /*cgen_cpu_max_extra_bytes ()*/0) != SIM_RC_OK)
> + if (sim_cpu_alloc_all (sd, 1, 0) != SIM_RC_OK)
> return 0;
>
> /* for compatibility */
> --
> 2.28.0
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] sim: cgen: move cgen_cpu_max_extra_bytes logic into the common code
2021-01-11 11:01 ` Andrew Burgess
@ 2021-01-11 22:07 ` Mike Frysinger
0 siblings, 0 replies; 3+ messages in thread
From: Mike Frysinger @ 2021-01-11 22:07 UTC (permalink / raw)
To: Andrew Burgess; +Cc: gdb-patches
[-- Attachment #1: Type: text/plain, Size: 772 bytes --]
On 11 Jan 2021 11:01, Andrew Burgess wrote:
> * Mike Frysinger via Gdb-patches <gdb-patches@sourceware.org> [2021-01-10 03:25:03 -0500]:
>
> > Every arch handles this the same way, so move it to the common code.
> > This will also make unifying the sim_cpu structure easier.
>
> Please can you include the ChangeLog entries with the patch
> submissions.
>
> Could we not remove the `extra_bytes` parameter from sim_cpu_alloc_all
> now? As far as I can tell it is always passed as 0? Or have I missed
> something?
it is technically an exported API, but we haven't really been
guaranteeing ABI stability anywhere as it's a static lib. i
was being a bit conservative, but maybe it's overly so since
no other consumers have shown up in decades.
-mike
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2021-01-11 22:07 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-10 8:25 [PATCH] sim: cgen: move cgen_cpu_max_extra_bytes logic into the common code Mike Frysinger
2021-01-11 11:01 ` Andrew Burgess
2021-01-11 22:07 ` Mike Frysinger
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).