Skip to content

Commit

Permalink
target/nios2: Prefer fast cpu_env() over slower CPU QOM cast macro
Browse files Browse the repository at this point in the history
Mechanical patch produced running the command documented
in scripts/coccinelle/cpu_env.cocci_template header.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20240129164514.73104-20-philmd@linaro.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>
  • Loading branch information
philmd authored and huth committed Mar 12, 2024
1 parent 4c44a98 commit 6fed7e4
Show file tree
Hide file tree
Showing 4 changed files with 7 additions and 20 deletions.
15 changes: 3 additions & 12 deletions target/nios2/cpu.c
Original file line number Diff line number Diff line change
Expand Up @@ -28,28 +28,19 @@

static void nios2_cpu_set_pc(CPUState *cs, vaddr value)
{
Nios2CPU *cpu = NIOS2_CPU(cs);
CPUNios2State *env = &cpu->env;

env->pc = value;
cpu_env(cs)->pc = value;
}

static vaddr nios2_cpu_get_pc(CPUState *cs)
{
Nios2CPU *cpu = NIOS2_CPU(cs);
CPUNios2State *env = &cpu->env;

return env->pc;
return cpu_env(cs)->pc;
}

static void nios2_restore_state_to_opc(CPUState *cs,
const TranslationBlock *tb,
const uint64_t *data)
{
Nios2CPU *cpu = NIOS2_CPU(cs);
CPUNios2State *env = &cpu->env;

env->pc = data[0];
cpu_env(cs)->pc = data[0];
}

static bool nios2_cpu_has_work(CPUState *cs)
Expand Down
3 changes: 1 addition & 2 deletions target/nios2/helper.c
Original file line number Diff line number Diff line change
Expand Up @@ -287,8 +287,7 @@ void nios2_cpu_do_unaligned_access(CPUState *cs, vaddr addr,
MMUAccessType access_type,
int mmu_idx, uintptr_t retaddr)
{
Nios2CPU *cpu = NIOS2_CPU(cs);
CPUNios2State *env = &cpu->env;
CPUNios2State *env = cpu_env(cs);

env->ctrl[CR_BADADDR] = addr;
cs->exception_index = EXCP_UNALIGN;
Expand Down
6 changes: 2 additions & 4 deletions target/nios2/nios2-semi.c
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,7 @@ static int host_to_gdb_errno(int err)

static void nios2_semi_u32_cb(CPUState *cs, uint64_t ret, int err)
{
Nios2CPU *cpu = NIOS2_CPU(cs);
CPUNios2State *env = &cpu->env;
CPUNios2State *env = cpu_env(cs);
target_ulong args = env->regs[R_ARG1];

if (put_user_u32(ret, args) ||
Expand All @@ -93,8 +92,7 @@ static void nios2_semi_u32_cb(CPUState *cs, uint64_t ret, int err)

static void nios2_semi_u64_cb(CPUState *cs, uint64_t ret, int err)
{
Nios2CPU *cpu = NIOS2_CPU(cs);
CPUNios2State *env = &cpu->env;
CPUNios2State *env = cpu_env(cs);
target_ulong args = env->regs[R_ARG1];

if (put_user_u32(ret >> 32, args) ||
Expand Down
3 changes: 1 addition & 2 deletions target/nios2/translate.c
Original file line number Diff line number Diff line change
Expand Up @@ -970,7 +970,6 @@ static void nios2_tr_insn_start(DisasContextBase *dcbase, CPUState *cs)
static void nios2_tr_translate_insn(DisasContextBase *dcbase, CPUState *cs)
{
DisasContext *dc = container_of(dcbase, DisasContext, base);
CPUNios2State *env = cpu_env(cs);
const Nios2Instruction *instr;
uint32_t code, pc;
uint8_t op;
Expand All @@ -980,7 +979,7 @@ static void nios2_tr_translate_insn(DisasContextBase *dcbase, CPUState *cs)
dc->base.pc_next = pc + 4;

/* Decode an instruction */
code = cpu_ldl_code(env, pc);
code = cpu_ldl_code(cpu_env(cs), pc);
op = get_opcode(code);

if (unlikely(op >= ARRAY_SIZE(i_type_instructions))) {
Expand Down

0 comments on commit 6fed7e4

Please sign in to comment.