Skip to content

Commit

Permalink
target/mips: Make CPU/FPU regnames[] arrays global
Browse files Browse the repository at this point in the history
The CPU/FPU regnames[] arrays is used in mips_tcg_init() and
mips_cpu_dump_state(), which while being in translate.c is
not specific to TCG.

To be able to move mips_cpu_dump_state() to cpu.c, which is
compiled for all accelerator, we need to make the regnames[]
arrays global to target/mips/ by declaring them in "internal.h".

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20210428170410.479308-5-f4bug@amsat.org>
  • Loading branch information
philmd committed May 2, 2021
1 parent fed50ff commit adbf1be
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 14 deletions.
7 changes: 7 additions & 0 deletions target/mips/cpu.c
Expand Up @@ -35,6 +35,13 @@
#include "qapi/qapi-commands-machine-target.h"
#include "fpu_helper.h"

const char * const regnames[32] = {
"r0", "at", "v0", "v1", "a0", "a1", "a2", "a3",
"t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7",
"s0", "s1", "s2", "s3", "s4", "s5", "s6", "s7",
"t8", "t9", "k0", "k1", "gp", "sp", "s8", "ra",
};

#if !defined(CONFIG_USER_ONLY)

/* Called for updates to CP0_Status. */
Expand Down
7 changes: 7 additions & 0 deletions target/mips/fpu.c
Expand Up @@ -16,3 +16,10 @@ const FloatRoundMode ieee_rm[4] = {
float_round_up,
float_round_down
};

const char * const fregnames[32] = {
"f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7",
"f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15",
"f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23",
"f24", "f25", "f26", "f27", "f28", "f29", "f30", "f31",
};
3 changes: 3 additions & 0 deletions target/mips/internal.h
Expand Up @@ -71,6 +71,9 @@ struct mips_def_t {
int32_t SAARP;
};

extern const char * const regnames[32];
extern const char * const fregnames[32];

extern const struct mips_def_t mips_defs[];
extern const int mips_defs_number;

Expand Down
14 changes: 0 additions & 14 deletions target/mips/translate.c
Expand Up @@ -1267,13 +1267,6 @@ TCGv_i64 fpu_f64[32];
#define DISAS_STOP DISAS_TARGET_0
#define DISAS_EXIT DISAS_TARGET_1

static const char * const regnames[] = {
"r0", "at", "v0", "v1", "a0", "a1", "a2", "a3",
"t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7",
"s0", "s1", "s2", "s3", "s4", "s5", "s6", "s7",
"t8", "t9", "k0", "k1", "gp", "sp", "s8", "ra",
};

static const char * const regnames_HI[] = {
"HI0", "HI1", "HI2", "HI3",
};
Expand All @@ -1282,13 +1275,6 @@ static const char * const regnames_LO[] = {
"LO0", "LO1", "LO2", "LO3",
};

static const char * const fregnames[] = {
"f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7",
"f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15",
"f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23",
"f24", "f25", "f26", "f27", "f28", "f29", "f30", "f31",
};

/* General purpose registers moves. */
void gen_load_gpr(TCGv t, int reg)
{
Expand Down

0 comments on commit adbf1be

Please sign in to comment.