mirror of
https://gitlab.com/qemu-project/qemu
synced 2024-11-05 20:35:44 +00:00
target/mips/mips-defs: Rename ISA_MIPS32 as ISA_MIPS_R1
The MIPS ISA release '1' is common to 32/64-bit CPUs. Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Message-Id: <20210104221154.3127610-12-f4bug@amsat.org>
This commit is contained in:
parent
13514fc93e
commit
bbd5e4a27f
3 changed files with 30 additions and 30 deletions
|
@ -411,7 +411,7 @@ static inline void compute_hflags(CPUMIPSState *env)
|
|||
if (env->active_fpu.fcr0 & (1 << FCR0_F64)) {
|
||||
env->hflags |= MIPS_HFLAG_COP1X;
|
||||
}
|
||||
} else if (env->insn_flags & ISA_MIPS32) {
|
||||
} else if (env->insn_flags & ISA_MIPS_R1) {
|
||||
if (env->hflags & MIPS_HFLAG_64) {
|
||||
env->hflags |= MIPS_HFLAG_COP1X;
|
||||
}
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
#define ISA_MIPS3 0x0000000000000004ULL /* 64-bit */
|
||||
#define ISA_MIPS4 0x0000000000000008ULL
|
||||
#define ISA_MIPS5 0x0000000000000010ULL
|
||||
#define ISA_MIPS32 0x0000000000000020ULL
|
||||
#define ISA_MIPS_R1 0x0000000000000020ULL
|
||||
#define ISA_MIPS32R2 0x0000000000000040ULL
|
||||
#define ISA_MIPS32R3 0x0000000000000200ULL
|
||||
#define ISA_MIPS32R5 0x0000000000000800ULL
|
||||
|
@ -69,7 +69,7 @@
|
|||
#define CPU_MIPS64 (ISA_MIPS3)
|
||||
|
||||
/* MIPS Technologies "Release 1" */
|
||||
#define CPU_MIPS32R1 (CPU_MIPS2 | ISA_MIPS32)
|
||||
#define CPU_MIPS32R1 (CPU_MIPS2 | ISA_MIPS_R1)
|
||||
#define CPU_MIPS64R1 (CPU_MIPS5 | CPU_MIPS32R1)
|
||||
|
||||
/* MIPS Technologies "Release 2" */
|
||||
|
|
|
@ -7411,7 +7411,7 @@ static void gen_mfc0(DisasContext *ctx, TCGv arg, int reg, int sel)
|
|||
const char *register_name = "invalid";
|
||||
|
||||
if (sel != 0) {
|
||||
check_insn(ctx, ISA_MIPS32);
|
||||
check_insn(ctx, ISA_MIPS_R1);
|
||||
}
|
||||
|
||||
switch (reg) {
|
||||
|
@ -8179,7 +8179,7 @@ static void gen_mtc0(DisasContext *ctx, TCGv arg, int reg, int sel)
|
|||
const char *register_name = "invalid";
|
||||
|
||||
if (sel != 0) {
|
||||
check_insn(ctx, ISA_MIPS32);
|
||||
check_insn(ctx, ISA_MIPS_R1);
|
||||
}
|
||||
|
||||
if (tb_cflags(ctx->base.tb) & CF_USE_ICOUNT) {
|
||||
|
@ -8943,7 +8943,7 @@ static void gen_dmfc0(DisasContext *ctx, TCGv arg, int reg, int sel)
|
|||
const char *register_name = "invalid";
|
||||
|
||||
if (sel != 0) {
|
||||
check_insn(ctx, ISA_MIPS32);
|
||||
check_insn(ctx, ISA_MIPS_R1);
|
||||
}
|
||||
|
||||
switch (reg) {
|
||||
|
@ -9669,7 +9669,7 @@ static void gen_dmtc0(DisasContext *ctx, TCGv arg, int reg, int sel)
|
|||
const char *register_name = "invalid";
|
||||
|
||||
if (sel != 0) {
|
||||
check_insn(ctx, ISA_MIPS32);
|
||||
check_insn(ctx, ISA_MIPS_R1);
|
||||
}
|
||||
|
||||
if (tb_cflags(ctx->base.tb) & CF_USE_ICOUNT) {
|
||||
|
@ -11006,7 +11006,7 @@ static void gen_cp0(CPUMIPSState *env, DisasContext *ctx, uint32_t opc,
|
|||
break;
|
||||
case OPC_DERET:
|
||||
opn = "deret";
|
||||
check_insn(ctx, ISA_MIPS32);
|
||||
check_insn(ctx, ISA_MIPS_R1);
|
||||
if ((ctx->insn_flags & ISA_MIPS32R6) &&
|
||||
(ctx->hflags & MIPS_HFLAG_BMASK)) {
|
||||
goto die;
|
||||
|
@ -11021,7 +11021,7 @@ static void gen_cp0(CPUMIPSState *env, DisasContext *ctx, uint32_t opc,
|
|||
break;
|
||||
case OPC_WAIT:
|
||||
opn = "wait";
|
||||
check_insn(ctx, ISA_MIPS3 | ISA_MIPS32);
|
||||
check_insn(ctx, ISA_MIPS3 | ISA_MIPS_R1);
|
||||
if ((ctx->insn_flags & ISA_MIPS32R6) &&
|
||||
(ctx->hflags & MIPS_HFLAG_BMASK)) {
|
||||
goto die;
|
||||
|
@ -11056,7 +11056,7 @@ static void gen_compute_branch1(DisasContext *ctx, uint32_t op,
|
|||
}
|
||||
|
||||
if (cc != 0) {
|
||||
check_insn(ctx, ISA_MIPS4 | ISA_MIPS32);
|
||||
check_insn(ctx, ISA_MIPS4 | ISA_MIPS_R1);
|
||||
}
|
||||
|
||||
btarget = ctx->base.pc_next + 4 + offset;
|
||||
|
@ -14425,7 +14425,7 @@ static int decode_extended_mips16_opc(CPUMIPSState *env, DisasContext *ctx)
|
|||
gen_arith_imm(ctx, OPC_ADDIU, 29, 29, imm);
|
||||
break;
|
||||
case I8_SVRS:
|
||||
check_insn(ctx, ISA_MIPS32);
|
||||
check_insn(ctx, ISA_MIPS_R1);
|
||||
{
|
||||
int xsregs = (ctx->opcode >> 24) & 0x7;
|
||||
int aregs = (ctx->opcode >> 16) & 0xf;
|
||||
|
@ -14675,7 +14675,7 @@ static int decode_mips16_opc(CPUMIPSState *env, DisasContext *ctx)
|
|||
((int8_t)ctx->opcode) << 3);
|
||||
break;
|
||||
case I8_SVRS:
|
||||
check_insn(ctx, ISA_MIPS32);
|
||||
check_insn(ctx, ISA_MIPS_R1);
|
||||
{
|
||||
int do_ra = ctx->opcode & (1 << 6);
|
||||
int do_s0 = ctx->opcode & (1 << 5);
|
||||
|
@ -14819,7 +14819,7 @@ static int decode_mips16_opc(CPUMIPSState *env, DisasContext *ctx)
|
|||
int ra = (ctx->opcode >> 5) & 0x1;
|
||||
|
||||
if (nd) {
|
||||
check_insn(ctx, ISA_MIPS32);
|
||||
check_insn(ctx, ISA_MIPS_R1);
|
||||
}
|
||||
|
||||
if (link) {
|
||||
|
@ -14840,7 +14840,7 @@ static int decode_mips16_opc(CPUMIPSState *env, DisasContext *ctx)
|
|||
* XXX: not clear which exception should be raised
|
||||
* when in debug mode...
|
||||
*/
|
||||
check_insn(ctx, ISA_MIPS32);
|
||||
check_insn(ctx, ISA_MIPS_R1);
|
||||
generate_exception_end(ctx, EXCP_DBp);
|
||||
}
|
||||
break;
|
||||
|
@ -14891,7 +14891,7 @@ static int decode_mips16_opc(CPUMIPSState *env, DisasContext *ctx)
|
|||
gen_HILO(ctx, OPC_MFHI, 0, rx);
|
||||
break;
|
||||
case RR_CNVT:
|
||||
check_insn(ctx, ISA_MIPS32);
|
||||
check_insn(ctx, ISA_MIPS_R1);
|
||||
switch (cnvt_op) {
|
||||
case RR_RY_CNVT_ZEB:
|
||||
tcg_gen_ext8u_tl(cpu_gpr[rx], cpu_gpr[rx]);
|
||||
|
@ -14907,12 +14907,12 @@ static int decode_mips16_opc(CPUMIPSState *env, DisasContext *ctx)
|
|||
break;
|
||||
#if defined(TARGET_MIPS64)
|
||||
case RR_RY_CNVT_ZEW:
|
||||
check_insn(ctx, ISA_MIPS32);
|
||||
check_insn(ctx, ISA_MIPS_R1);
|
||||
check_mips_64(ctx);
|
||||
tcg_gen_ext32u_tl(cpu_gpr[rx], cpu_gpr[rx]);
|
||||
break;
|
||||
case RR_RY_CNVT_SEW:
|
||||
check_insn(ctx, ISA_MIPS32);
|
||||
check_insn(ctx, ISA_MIPS_R1);
|
||||
check_mips_64(ctx);
|
||||
tcg_gen_ext32s_tl(cpu_gpr[rx], cpu_gpr[rx]);
|
||||
break;
|
||||
|
@ -15831,7 +15831,7 @@ static void gen_pool16c_insn(DisasContext *ctx)
|
|||
* XXX: not clear which exception should be raised
|
||||
* when in debug mode...
|
||||
*/
|
||||
check_insn(ctx, ISA_MIPS32);
|
||||
check_insn(ctx, ISA_MIPS_R1);
|
||||
generate_exception_end(ctx, EXCP_DBp);
|
||||
}
|
||||
break;
|
||||
|
@ -16175,7 +16175,7 @@ static void gen_pool32axf(CPUMIPSState *env, DisasContext *ctx, int rt, int rs)
|
|||
case CLZ:
|
||||
mips32_op = OPC_CLZ;
|
||||
do_cl:
|
||||
check_insn(ctx, ISA_MIPS32);
|
||||
check_insn(ctx, ISA_MIPS_R1);
|
||||
gen_cl(ctx, mips32_op, rt, rs);
|
||||
break;
|
||||
case RDHWR:
|
||||
|
@ -16202,7 +16202,7 @@ static void gen_pool32axf(CPUMIPSState *env, DisasContext *ctx, int rt, int rs)
|
|||
mips32_op = OPC_DIVU;
|
||||
goto do_div;
|
||||
do_div:
|
||||
check_insn(ctx, ISA_MIPS32);
|
||||
check_insn(ctx, ISA_MIPS_R1);
|
||||
gen_muldiv(ctx, mips32_op, 0, rs, rt);
|
||||
break;
|
||||
case MADD:
|
||||
|
@ -16221,7 +16221,7 @@ static void gen_pool32axf(CPUMIPSState *env, DisasContext *ctx, int rt, int rs)
|
|||
check_insn_opc_removed(ctx, ISA_MIPS32R6);
|
||||
mips32_op = OPC_MSUBU;
|
||||
do_mul:
|
||||
check_insn(ctx, ISA_MIPS32);
|
||||
check_insn(ctx, ISA_MIPS_R1);
|
||||
gen_muldiv(ctx, mips32_op, 0, rs, rt);
|
||||
break;
|
||||
default:
|
||||
|
@ -16369,7 +16369,7 @@ static void gen_pool32axf(CPUMIPSState *env, DisasContext *ctx, int rt, int rs)
|
|||
if (is_uhi(extract32(ctx->opcode, 16, 10))) {
|
||||
gen_helper_do_semihosting(cpu_env);
|
||||
} else {
|
||||
check_insn(ctx, ISA_MIPS32);
|
||||
check_insn(ctx, ISA_MIPS_R1);
|
||||
if (ctx->hflags & MIPS_HFLAG_SBRI) {
|
||||
generate_exception_end(ctx, EXCP_RI);
|
||||
} else {
|
||||
|
@ -24889,7 +24889,7 @@ static void decode_opc_special_legacy(CPUMIPSState *env, DisasContext *ctx)
|
|||
switch (op1) {
|
||||
case OPC_MOVN: /* Conditional move */
|
||||
case OPC_MOVZ:
|
||||
check_insn(ctx, ISA_MIPS4 | ISA_MIPS32 |
|
||||
check_insn(ctx, ISA_MIPS4 | ISA_MIPS_R1 |
|
||||
INSN_LOONGSON2E | INSN_LOONGSON2F);
|
||||
gen_cond_move(ctx, op1, rd, rs, rt);
|
||||
break;
|
||||
|
@ -24902,7 +24902,7 @@ static void decode_opc_special_legacy(CPUMIPSState *env, DisasContext *ctx)
|
|||
gen_HILO(ctx, op1, rd & 3, rs);
|
||||
break;
|
||||
case OPC_MOVCI:
|
||||
check_insn(ctx, ISA_MIPS4 | ISA_MIPS32);
|
||||
check_insn(ctx, ISA_MIPS4 | ISA_MIPS_R1);
|
||||
if (env->CP0_Config1 & (1 << CP0C1_FP)) {
|
||||
check_cp1_enabled(ctx);
|
||||
gen_movci(ctx, rd, rs, (ctx->opcode >> 18) & 0x7,
|
||||
|
@ -27577,7 +27577,7 @@ static void decode_opc_special2_legacy(CPUMIPSState *env, DisasContext *ctx)
|
|||
case OPC_MADDU:
|
||||
case OPC_MSUB:
|
||||
case OPC_MSUBU:
|
||||
check_insn(ctx, ISA_MIPS32);
|
||||
check_insn(ctx, ISA_MIPS_R1);
|
||||
gen_muldiv(ctx, op1, rd & 3, rs, rt);
|
||||
break;
|
||||
case OPC_MUL:
|
||||
|
@ -27594,7 +27594,7 @@ static void decode_opc_special2_legacy(CPUMIPSState *env, DisasContext *ctx)
|
|||
break;
|
||||
case OPC_CLO:
|
||||
case OPC_CLZ:
|
||||
check_insn(ctx, ISA_MIPS32);
|
||||
check_insn(ctx, ISA_MIPS_R1);
|
||||
gen_cl(ctx, op1, rd, rs);
|
||||
break;
|
||||
case OPC_SDBBP:
|
||||
|
@ -27605,14 +27605,14 @@ static void decode_opc_special2_legacy(CPUMIPSState *env, DisasContext *ctx)
|
|||
* XXX: not clear which exception should be raised
|
||||
* when in debug mode...
|
||||
*/
|
||||
check_insn(ctx, ISA_MIPS32);
|
||||
check_insn(ctx, ISA_MIPS_R1);
|
||||
generate_exception_end(ctx, EXCP_DBp);
|
||||
}
|
||||
break;
|
||||
#if defined(TARGET_MIPS64)
|
||||
case OPC_DCLO:
|
||||
case OPC_DCLZ:
|
||||
check_insn(ctx, ISA_MIPS32);
|
||||
check_insn(ctx, ISA_MIPS_R1);
|
||||
check_mips_64(ctx);
|
||||
gen_cl(ctx, op1, rd, rs);
|
||||
break;
|
||||
|
@ -31025,7 +31025,7 @@ static void decode_opc(CPUMIPSState *env, DisasContext *ctx)
|
|||
case OPC_CACHE:
|
||||
check_insn_opc_removed(ctx, ISA_MIPS32R6);
|
||||
check_cp0_enabled(ctx);
|
||||
check_insn(ctx, ISA_MIPS3 | ISA_MIPS32);
|
||||
check_insn(ctx, ISA_MIPS3 | ISA_MIPS_R1);
|
||||
if (ctx->hflags & MIPS_HFLAG_ITC_CACHE) {
|
||||
gen_cache_operation(ctx, rt, rs, imm);
|
||||
}
|
||||
|
@ -31036,7 +31036,7 @@ static void decode_opc(CPUMIPSState *env, DisasContext *ctx)
|
|||
if (ctx->insn_flags & INSN_R5900) {
|
||||
/* Treat as NOP. */
|
||||
} else {
|
||||
check_insn(ctx, ISA_MIPS4 | ISA_MIPS32);
|
||||
check_insn(ctx, ISA_MIPS4 | ISA_MIPS_R1);
|
||||
/* Treat as NOP. */
|
||||
}
|
||||
break;
|
||||
|
|
Loading…
Reference in a new issue