diff options
author | Richard Henderson <richard.henderson@linaro.org> | 2020-01-16 15:46:38 -1000 |
---|---|---|
committer | Richard Henderson <richard.henderson@linaro.org> | 2020-01-27 10:49:51 -0800 |
commit | b1af755c33bf0d690553a5ccd93689dfd15a98e8 (patch) | |
tree | 80c91a18bf947821d1d6dbeb04fab63942a45ce2 /target/hppa/helper.h | |
parent | 4debfdac03babcf858fb45204157a05236635a21 (diff) | |
download | qemu-b1af755c33bf0d690553a5ccd93689dfd15a98e8.zip qemu-b1af755c33bf0d690553a5ccd93689dfd15a98e8.tar.gz qemu-b1af755c33bf0d690553a5ccd93689dfd15a98e8.tar.bz2 |
target/hppa: Allow, but diagnose, LDCW aligned only mod 4
The PA-RISC 1.1 specification says that LDCW must be aligned mod 16
or the operation is undefined. However, real hardware only generates
an unaligned access trap for unaligned mod 4.
Match real hardware, but diagnose with GUEST_ERROR a violation of
the specification.
At the same time fix a bug in the initialization of mop, where the
size was specified twice, and another to free the zero temporary.
Tested-by: Helge Deller <deller@gmx.de>
Reported-by: Helge Deller <deller@gmx.de>
Suggested-by: John David Anglin <dave.anglin@bell.net>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'target/hppa/helper.h')
-rw-r--r-- | target/hppa/helper.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/target/hppa/helper.h b/target/hppa/helper.h index 38d834e..2d483aa 100644 --- a/target/hppa/helper.h +++ b/target/hppa/helper.h @@ -17,6 +17,8 @@ DEF_HELPER_FLAGS_3(stby_b_parallel, TCG_CALL_NO_WG, void, env, tl, tr) DEF_HELPER_FLAGS_3(stby_e, TCG_CALL_NO_WG, void, env, tl, tr) DEF_HELPER_FLAGS_3(stby_e_parallel, TCG_CALL_NO_WG, void, env, tl, tr) +DEF_HELPER_FLAGS_1(ldc_check, TCG_CALL_NO_RWG, void, tl) + DEF_HELPER_FLAGS_4(probe, TCG_CALL_NO_WG, tr, env, tl, i32, i32) DEF_HELPER_FLAGS_1(loaded_fr0, TCG_CALL_NO_RWG, void, env) |