diff options
author | Richard Henderson <richard.henderson@linaro.org> | 2020-08-28 10:02:47 +0100 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2020-08-28 10:02:47 +0100 |
commit | 8a40fe5f1bf3837ae3f9961efe1d51e7214f2664 (patch) | |
tree | 47d5729de37b5253c45e621ddc5df3394490bb88 /target/arm/translate.h | |
parent | 28c4da31be6a5e501b60b77bac17652dd3211378 (diff) | |
download | qemu-8a40fe5f1bf3837ae3f9961efe1d51e7214f2664.zip qemu-8a40fe5f1bf3837ae3f9961efe1d51e7214f2664.tar.gz qemu-8a40fe5f1bf3837ae3f9961efe1d51e7214f2664.tar.bz2 |
target/arm: Rearrange {sve,fp}_check_access assert
We want to ensure that access is checked by the time we ask
for a specific fp/vector register. We want to ensure that
we do not emit two lots of code to raise an exception.
But sometimes it's difficult to cleanly organize the code
such that we never pass through sve_check_access exactly once.
Allow multiple calls so long as the result is true, that is,
no exception to be raised.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: 20200815013145.539409-5-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'target/arm/translate.h')
-rw-r--r-- | target/arm/translate.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/target/arm/translate.h b/target/arm/translate.h index 6d6d4c0..423b0e0 100644 --- a/target/arm/translate.h +++ b/target/arm/translate.h @@ -64,6 +64,7 @@ typedef struct DisasContext { * that it is set at the point where we actually touch the FP regs. */ bool fp_access_checked; + bool sve_access_checked; /* ARMv8 single-step state (this is distinct from the QEMU gdbstub * single-step support). */ |