summaryrefslogtreecommitdiff
path: root/target-arm/translate.h
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2015-07-06 10:05:44 +0100
committerPeter Maydell <peter.maydell@linaro.org>2015-07-06 10:05:44 +0100
commit049e24a191c212d9468db84169197887f2c91586 (patch)
treea3e485b8175ffb43636ec5556ff2e4ebc558a6d0 /target-arm/translate.h
parenta7ffaf5c96e26820edffa94eeac766fe60bfdd31 (diff)
downloadqemu-049e24a191c212d9468db84169197887f2c91586.tar.gz
qemu-049e24a191c212d9468db84169197887f2c91586.tar.bz2
qemu-049e24a191c212d9468db84169197887f2c91586.zip
target-arm: Split DISAS_YIELD from DISAS_WFE
Currently we use DISAS_WFE for both WFE and YIELD instructions. This is functionally correct because at the moment both of them are implemented as "yield this CPU back to the top level loop so another CPU has a chance to run". However it's rather confusing that YIELD ends up calling HELPER(wfe), and if we ever want to implement real behaviour for WFE and SEV it's likely to trip us up. Split out the yield codepath to use DISAS_YIELD and a new HELPER(yield) function, and have HELPER(wfe) call HELPER(yield). Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Message-id: 1435672316-3311-2-git-send-email-peter.maydell@linaro.org Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
Diffstat (limited to 'target-arm/translate.h')
-rw-r--r--target-arm/translate.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/target-arm/translate.h b/target-arm/translate.h
index bcdcf11718..9ab978fb75 100644
--- a/target-arm/translate.h
+++ b/target-arm/translate.h
@@ -103,6 +103,7 @@ static inline int default_exception_el(DisasContext *s)
#define DISAS_WFE 7
#define DISAS_HVC 8
#define DISAS_SMC 9
+#define DISAS_YIELD 10
#ifdef TARGET_AARCH64
void a64_translate_init(void);