Skip to content

Commit

Permalink
target/cris: 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-11-philmd@linaro.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>
  • Loading branch information
philmd authored and huth committed Mar 12, 2024
1 parent 2db5b94 commit 2df4ab2
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 25 deletions.
10 changes: 3 additions & 7 deletions target/cris/cpu.c
Original file line number Diff line number Diff line change
Expand Up @@ -63,10 +63,9 @@ static int cris_cpu_mmu_index(CPUState *cs, bool ifetch)

static void cris_cpu_reset_hold(Object *obj)
{
CPUState *s = CPU(obj);
CRISCPU *cpu = CRIS_CPU(s);
CPUState *cs = CPU(obj);
CRISCPUClass *ccc = CRIS_CPU_GET_CLASS(obj);
CPUCRISState *env = &cpu->env;
CPUCRISState *env = cpu_env(cs);
uint32_t vr;

if (ccc->parent_phases.hold) {
Expand Down Expand Up @@ -147,10 +146,7 @@ static void cris_cpu_set_irq(void *opaque, int irq, int level)

static void cris_disas_set_info(CPUState *cpu, disassemble_info *info)
{
CRISCPU *cc = CRIS_CPU(cpu);
CPUCRISState *env = &cc->env;

if (env->pregs[PR_VR] != 32) {
if (cpu_env(cpu)->pregs[PR_VR] != 32) {
info->mach = bfd_mach_cris_v0_v10;
info->print_insn = print_insn_crisv10;
} else {
Expand Down
9 changes: 3 additions & 6 deletions target/cris/gdbstub.c
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,7 @@

int crisv10_cpu_gdb_read_register(CPUState *cs, GByteArray *mem_buf, int n)
{
CRISCPU *cpu = CRIS_CPU(cs);
CPUCRISState *env = &cpu->env;
CPUCRISState *env = cpu_env(cs);

if (n < 15) {
return gdb_get_reg32(mem_buf, env->regs[n]);
Expand Down Expand Up @@ -55,8 +54,7 @@ int crisv10_cpu_gdb_read_register(CPUState *cs, GByteArray *mem_buf, int n)

int cris_cpu_gdb_read_register(CPUState *cs, GByteArray *mem_buf, int n)
{
CRISCPU *cpu = CRIS_CPU(cs);
CPUCRISState *env = &cpu->env;
CPUCRISState *env = cpu_env(cs);
uint8_t srs;

srs = env->pregs[PR_SRS];
Expand Down Expand Up @@ -90,8 +88,7 @@ int cris_cpu_gdb_read_register(CPUState *cs, GByteArray *mem_buf, int n)

int cris_cpu_gdb_write_register(CPUState *cs, uint8_t *mem_buf, int n)
{
CRISCPU *cpu = CRIS_CPU(cs);
CPUCRISState *env = &cpu->env;
CPUCRISState *env = cpu_env(cs);
uint32_t tmp;

if (n > 49) {
Expand Down
12 changes: 4 additions & 8 deletions target/cris/helper.c
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,7 @@ bool cris_cpu_tlb_fill(CPUState *cs, vaddr address, int size,
MMUAccessType access_type, int mmu_idx,
bool probe, uintptr_t retaddr)
{
CRISCPU *cpu = CRIS_CPU(cs);
CPUCRISState *env = &cpu->env;
CPUCRISState *env = cpu_env(cs);
struct cris_mmu_result res;
int prot, miss;
target_ulong phy;
Expand Down Expand Up @@ -97,8 +96,7 @@ bool cris_cpu_tlb_fill(CPUState *cs, vaddr address, int size,

void crisv10_cpu_do_interrupt(CPUState *cs)
{
CRISCPU *cpu = CRIS_CPU(cs);
CPUCRISState *env = &cpu->env;
CPUCRISState *env = cpu_env(cs);
int ex_vec = -1;

D_LOG("exception index=%d interrupt_req=%d\n",
Expand Down Expand Up @@ -159,8 +157,7 @@ void crisv10_cpu_do_interrupt(CPUState *cs)

void cris_cpu_do_interrupt(CPUState *cs)
{
CRISCPU *cpu = CRIS_CPU(cs);
CPUCRISState *env = &cpu->env;
CPUCRISState *env = cpu_env(cs);
int ex_vec = -1;

D_LOG("exception index=%d interrupt_req=%d\n",
Expand Down Expand Up @@ -262,8 +259,7 @@ hwaddr cris_cpu_get_phys_page_debug(CPUState *cs, vaddr addr)
bool cris_cpu_exec_interrupt(CPUState *cs, int interrupt_request)
{
CPUClass *cc = CPU_GET_CLASS(cs);
CRISCPU *cpu = CRIS_CPU(cs);
CPUCRISState *env = &cpu->env;
CPUCRISState *env = cpu_env(cs);
bool ret = false;

if (interrupt_request & CPU_INTERRUPT_HARD
Expand Down
6 changes: 2 additions & 4 deletions target/cris/translate.c
Original file line number Diff line number Diff line change
Expand Up @@ -3002,15 +3002,14 @@ static void cris_tr_insn_start(DisasContextBase *dcbase, CPUState *cpu)
static void cris_tr_translate_insn(DisasContextBase *dcbase, CPUState *cs)
{
DisasContext *dc = container_of(dcbase, DisasContext, base);
CPUCRISState *env = cpu_env(cs);
unsigned int insn_len;

/* Pretty disas. */
LOG_DIS("%8.8x:\t", dc->pc);

dc->clear_x = 1;

insn_len = dc->decoder(env, dc);
insn_len = dc->decoder(cpu_env(cs), dc);
dc->ppc = dc->pc;
dc->pc += insn_len;
dc->base.pc_next += insn_len;
Expand Down Expand Up @@ -3176,8 +3175,7 @@ void gen_intermediate_code(CPUState *cs, TranslationBlock *tb, int *max_insns,

void cris_cpu_dump_state(CPUState *cs, FILE *f, int flags)
{
CRISCPU *cpu = CRIS_CPU(cs);
CPUCRISState *env = &cpu->env;
CPUCRISState *env = cpu_env(cs);
const char * const *regnames;
const char * const *pregnames;
int i;
Expand Down

0 comments on commit 2df4ab2

Please sign in to comment.