summaryrefslogtreecommitdiff
path: root/target-arm
diff options
context:
space:
mode:
authorRichard Henderson <rth@twiddle.net>2015-08-31 14:34:41 -0700
committerRichard Henderson <rth@twiddle.net>2015-10-07 20:36:50 +1100
commit190ce7fbc79fd0883a6170d7f30da59d366e6830 (patch)
treeb51499526739d5ac8a550e72b4e3e94214f48fcc /target-arm
parentdc03246cc377268db63abc8c5663ef571aec2eea (diff)
downloadqemu-190ce7fbc79fd0883a6170d7f30da59d366e6830.tar.gz
qemu-190ce7fbc79fd0883a6170d7f30da59d366e6830.tar.bz2
qemu-190ce7fbc79fd0883a6170d7f30da59d366e6830.zip
tcg: Add TCG_MAX_INSNS
Adjust all translators to respect it. Reviewed-by: Aurelien Jarno <aurelien@aurel32.net> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Richard Henderson <rth@twiddle.net>
Diffstat (limited to 'target-arm')
-rw-r--r--target-arm/translate-a64.c3
-rw-r--r--target-arm/translate.c6
2 files changed, 8 insertions, 1 deletions
diff --git a/target-arm/translate-a64.c b/target-arm/translate-a64.c
index 654a58645c..5022fc35c6 100644
--- a/target-arm/translate-a64.c
+++ b/target-arm/translate-a64.c
@@ -11072,6 +11072,9 @@ void gen_intermediate_code_internal_a64(ARMCPU *cpu,
if (max_insns == 0) {
max_insns = CF_COUNT_MASK;
}
+ if (max_insns > TCG_MAX_INSNS) {
+ max_insns = TCG_MAX_INSNS;
+ }
gen_tb_start(tb);
diff --git a/target-arm/translate.c b/target-arm/translate.c
index fb69ecb03d..fedb7814bd 100644
--- a/target-arm/translate.c
+++ b/target-arm/translate.c
@@ -11258,8 +11258,12 @@ static inline void gen_intermediate_code_internal(ARMCPU *cpu,
lj = -1;
num_insns = 0;
max_insns = tb->cflags & CF_COUNT_MASK;
- if (max_insns == 0)
+ if (max_insns == 0) {
max_insns = CF_COUNT_MASK;
+ }
+ if (max_insns > TCG_MAX_INSNS) {
+ max_insns = TCG_MAX_INSNS;
+ }
gen_tb_start(tb);