aboutsummaryrefslogtreecommitdiff
path: root/target-ppc/translate.c
diff options
context:
space:
mode:
authorj_mayer <j_mayer@c046a42c-6fe2-441c-8c8c-71466251a162>2007-10-01 01:51:12 +0000
committerj_mayer <j_mayer@c046a42c-6fe2-441c-8c8c-71466251a162>2007-10-01 01:51:12 +0000
commitdaf4f96ece7dc4abdfe29c9a7fdd694ffd8969bb (patch)
tree5beb2a3f15387eb42a32c92c32898453595e6e2f /target-ppc/translate.c
parent035feb8857d410c3e066f13d8f7bcf8e836e6972 (diff)
Avoid op helpers that would just call helpers for TLB & SLB management:
call the helpers directly from the micro-ops. Avoid duplicated code for tlbsx. implementation. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3302 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-ppc/translate.c')
-rw-r--r--target-ppc/translate.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/target-ppc/translate.c b/target-ppc/translate.c
index 6faf0b6717..d76a92a65d 100644
--- a/target-ppc/translate.c
+++ b/target-ppc/translate.c
@@ -4991,10 +4991,9 @@ GEN_HANDLER(tlbsx_40x, 0x1F, 0x12, 0x1C, 0x00000000, PPC_40x_TLB)
return;
}
gen_addr_reg_index(ctx);
+ gen_op_4xx_tlbsx();
if (Rc(ctx->opcode))
- gen_op_4xx_tlbsx_();
- else
- gen_op_4xx_tlbsx();
+ gen_op_4xx_tlbsx_check();
gen_op_store_T0_gpr(rD(ctx->opcode));
#endif
}
@@ -5064,10 +5063,9 @@ GEN_HANDLER(tlbsx_440, 0x1F, 0x12, 0x1C, 0x00000000, PPC_BOOKE)
return;
}
gen_addr_reg_index(ctx);
+ gen_op_440_tlbsx();
if (Rc(ctx->opcode))
- gen_op_440_tlbsx_();
- else
- gen_op_440_tlbsx();
+ gen_op_4xx_tlbsx_check();
gen_op_store_T0_gpr(rD(ctx->opcode));
#endif
}