const char * (*gdb_arch_name)(CPUState *cpu);
const char * (*gdb_get_core_xml_file)(CPUState *cpu);
- void (*disas_set_info)(CPUState *cpu, disassemble_info *info);
+ void (*disas_set_info)(const CPUState *cpu, disassemble_info *info);
const char *deprecation_note;
struct AccelCPUClass *accel_cpu;
return alpha_env_mmu_index(cpu_env(cs));
}
-static void alpha_cpu_disas_set_info(CPUState *cpu, disassemble_info *info)
+static void alpha_cpu_disas_set_info(const CPUState *cpu,
+ disassemble_info *info)
{
info->endian = BFD_ENDIAN_LITTLE;
info->mach = bfd_mach_alpha_ev6;
}
#endif
-static void arm_disas_set_info(CPUState *cpu, disassemble_info *info)
+static void arm_disas_set_info(const CPUState *cpu, disassemble_info *info)
{
- ARMCPU *ac = ARM_CPU(cpu);
- CPUARMState *env = &ac->env;
+ const ARMCPU *ac = ARM_CPU(cpu);
+ const CPUARMState *env = &ac->env;
bool sctlr_b = arm_sctlr_b(env);
if (is_a64(env)) {
memset(env->r, 0, sizeof(env->r));
}
-static void avr_cpu_disas_set_info(CPUState *cpu, disassemble_info *info)
+static void avr_cpu_disas_set_info(const CPUState *cpu, disassemble_info *info)
{
info->endian = BFD_ENDIAN_LITTLE;
info->mach = bfd_arch_avr;
set_float_default_nan_pattern(0b11111111, &env->fp_status);
}
-static void hexagon_cpu_disas_set_info(CPUState *s, disassemble_info *info)
+static void hexagon_cpu_disas_set_info(const CPUState *cs,
+ disassemble_info *info)
{
info->print_insn = print_insn_hexagon;
info->endian = BFD_ENDIAN_LITTLE;
return env->psw & PSW_W ? MMU_ABS_W_IDX : MMU_ABS_IDX;
}
-static void hppa_cpu_disas_set_info(CPUState *cs, disassemble_info *info)
+static void hppa_cpu_disas_set_info(const CPUState *cs, disassemble_info *info)
{
info->mach = bfd_mach_hppa20;
info->endian = BFD_ENDIAN_BIG;
}
#endif /* !CONFIG_USER_ONLY */
-static void x86_disas_set_info(CPUState *cs, disassemble_info *info)
+static void x86_disas_set_info(const CPUState *cs, disassemble_info *info)
{
- X86CPU *cpu = X86_CPU(cs);
- CPUX86State *env = &cpu->env;
+ const X86CPU *cpu = X86_CPU(cs);
+ const CPUX86State *env = &cpu->env;
info->endian = BFD_ENDIAN_LITTLE;
info->mach = (env->hflags & HF_CS64_MASK ? bfd_mach_x86_64
cs->exception_index = -1;
}
-static void loongarch_cpu_disas_set_info(CPUState *s, disassemble_info *info)
+static void loongarch_cpu_disas_set_info(const CPUState *cs,
+ disassemble_info *info)
{
info->endian = BFD_ENDIAN_LITTLE;
info->print_insn = print_insn_loongarch;
env->pc = 0;
}
-static void m68k_cpu_disas_set_info(CPUState *s, disassemble_info *info)
+static void m68k_cpu_disas_set_info(const CPUState *cs, disassemble_info *info)
{
info->print_insn = print_insn_m68k;
info->endian = BFD_ENDIAN_BIG;
#endif
}
-static void mb_disas_set_info(CPUState *cpu, disassemble_info *info)
+static void mb_disas_set_info(const CPUState *cpu, disassemble_info *info)
{
info->mach = bfd_arch_microblaze;
info->print_insn = print_insn_microblaze;
#endif
}
-static void mips_cpu_disas_set_info(CPUState *s, disassemble_info *info)
+static void mips_cpu_disas_set_info(const CPUState *cs, disassemble_info *info)
{
- if (!(cpu_env(s)->insn_flags & ISA_NANOMIPS32)) {
+ const MIPSCPU *cpu = MIPS_CPU(cs);
+ const CPUMIPSState *env = &cpu->env;
+
+ if (!(env->insn_flags & ISA_NANOMIPS32)) {
info->endian = TARGET_BIG_ENDIAN ? BFD_ENDIAN_BIG
: BFD_ENDIAN_LITTLE;
info->print_insn = TARGET_BIG_ENDIAN ? print_insn_big_mips
return MMU_NOMMU_IDX; /* mmu is disabled */
}
-static void openrisc_disas_set_info(CPUState *cpu, disassemble_info *info)
+static void openrisc_disas_set_info(const CPUState *cpu, disassemble_info *info)
{
info->endian = BFD_ENDIAN_BIG;
info->print_insn = print_insn_or1k;
return pcc->pvr == pvr;
}
-static void ppc_disas_set_info(CPUState *cs, disassemble_info *info)
+static void ppc_disas_set_info(const CPUState *cs, disassemble_info *info)
{
- CPUPPCState *env = cpu_env(cs);
+ const PowerPCCPU *cpu = POWERPC_CPU(cs);
+ const CPUPPCState *env = &cpu->env;
info->endian = ppc_env_is_little_endian(env) ? BFD_ENDIAN_LITTLE
: BFD_ENDIAN_BIG;
#endif
}
-static void riscv_cpu_disas_set_info(CPUState *s, disassemble_info *info)
+static void riscv_cpu_disas_set_info(const CPUState *s, disassemble_info *info)
{
- RISCVCPU *cpu = RISCV_CPU(s);
- CPURISCVState *env = &cpu->env;
+ const RISCVCPU *cpu = RISCV_CPU(s);
+ const CPURISCVState *env = &cpu->env;
+
info->target_info = &cpu->cfg;
/*
}
}
-static void rx_cpu_disas_set_info(CPUState *cpu, disassemble_info *info)
+static void rx_cpu_disas_set_info(const CPUState *cpu, disassemble_info *info)
{
info->endian = BFD_ENDIAN_LITTLE;
info->mach = bfd_mach_rx;
}
}
-static void s390_cpu_disas_set_info(CPUState *cpu, disassemble_info *info)
+static void s390_cpu_disas_set_info(const CPUState *cpu, disassemble_info *info)
{
info->mach = bfd_mach_s390_64;
info->cap_arch = CS_ARCH_SYSZ;
set_float_ftz_detection(float_ftz_before_rounding, &env->fp_status);
}
-static void superh_cpu_disas_set_info(CPUState *cpu, disassemble_info *info)
+static void superh_cpu_disas_set_info(const CPUState *cpu,
+ disassemble_info *info)
{
info->endian = TARGET_BIG_ENDIAN ? BFD_ENDIAN_BIG
: BFD_ENDIAN_LITTLE;
}
#endif /* !CONFIG_USER_ONLY */
-static void cpu_sparc_disas_set_info(CPUState *cpu, disassemble_info *info)
+static void cpu_sparc_disas_set_info(const CPUState *cpu,
+ disassemble_info *info)
{
info->print_insn = print_insn_sparc;
info->endian = BFD_ENDIAN_BIG;
return oc;
}
-static void xtensa_cpu_disas_set_info(CPUState *cs, disassemble_info *info)
+static void xtensa_cpu_disas_set_info(const CPUState *cs,
+ disassemble_info *info)
{
XtensaCPU *cpu = XTENSA_CPU(cs);