diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2017-04-20 17:32:31 +0100 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2017-04-20 17:39:17 +0100 |
commit | 064c379c99b835bdcc478d21a3849507ea07d53a (patch) | |
tree | 1745c37ce5ffefa78d176681836e7f8e2db381fb /target/arm/translate.c | |
parent | b636649f5a2e108413dd171edaf320f781f57942 (diff) | |
download | qemu-064c379c99b835bdcc478d21a3849507ea07d53a.zip qemu-064c379c99b835bdcc478d21a3849507ea07d53a.tar.gz qemu-064c379c99b835bdcc478d21a3849507ea07d53a.tar.bz2 |
arm: Track M profile handler mode state in TB flags
For M profile exception-return handling we'd like to generate different
code for some instructions depending on whether we are in Handler
mode or Thread mode. This isn't the same as "are we privileged
or user", so we need an extra bit in the TB flags to distinguish.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <rth@twiddle.net>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 1491844419-12485-8-git-send-email-peter.maydell@linaro.org
Diffstat (limited to 'target/arm/translate.c')
-rw-r--r-- | target/arm/translate.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/target/arm/translate.c b/target/arm/translate.c index f28c4ca..4fe7692 100644 --- a/target/arm/translate.c +++ b/target/arm/translate.c @@ -11780,6 +11780,7 @@ void gen_intermediate_code(CPUARMState *env, TranslationBlock *tb) dc->vec_len = ARM_TBFLAG_VECLEN(tb->flags); dc->vec_stride = ARM_TBFLAG_VECSTRIDE(tb->flags); dc->c15_cpar = ARM_TBFLAG_XSCALE_CPAR(tb->flags); + dc->v7m_handler_mode = ARM_TBFLAG_HANDLER(tb->flags); dc->cp_regs = cpu->cp_regs; dc->features = env->features; |