diff options
| author | Max Filippov | 2021-05-17 21:31:08 +0200 |
|---|---|---|
| committer | Max Filippov | 2021-05-20 22:02:58 +0200 |
| commit | 583e6a5f55d4b02f04eda0cd70bf7b7701a08450 (patch) | |
| tree | e365a6c371dc6401b3397dd50afd9de362ff787f /default-configs | |
| parent | target/xtensa: fix access ring in l32ex (diff) | |
| download | qemu-583e6a5f55d4b02f04eda0cd70bf7b7701a08450.tar.gz qemu-583e6a5f55d4b02f04eda0cd70bf7b7701a08450.tar.xz qemu-583e6a5f55d4b02f04eda0cd70bf7b7701a08450.zip | |
target/xtensa: clean up unaligned access
Xtensa cores may or may not have hardware support for unaligned memory
access. Remove TARGET_ALIGNED_ONLY=y from all xtensa configurations and
pass MO_ALIGN in memory access flags for all operations that would raise
an exception.
Simplify use of gen_load_store_alignment by passing access size and
alignment requirements in single parameter.
Drop condition from xtensa_cpu_do_unaligned_access and replace it with
assertion.
Add a test.
Suggested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Suggested-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Diffstat (limited to 'default-configs')
| -rw-r--r-- | default-configs/targets/xtensa-linux-user.mak | 1 | ||||
| -rw-r--r-- | default-configs/targets/xtensa-softmmu.mak | 1 | ||||
| -rw-r--r-- | default-configs/targets/xtensaeb-linux-user.mak | 1 | ||||
| -rw-r--r-- | default-configs/targets/xtensaeb-softmmu.mak | 1 |
4 files changed, 0 insertions, 4 deletions
diff --git a/default-configs/targets/xtensa-linux-user.mak b/default-configs/targets/xtensa-linux-user.mak index fc95cc60f5..420b30a68d 100644 --- a/default-configs/targets/xtensa-linux-user.mak +++ b/default-configs/targets/xtensa-linux-user.mak @@ -1,5 +1,4 @@ TARGET_ARCH=xtensa TARGET_SYSTBL_ABI=common TARGET_SYSTBL=syscall.tbl -TARGET_ALIGNED_ONLY=y TARGET_HAS_BFLT=y diff --git a/default-configs/targets/xtensa-softmmu.mak b/default-configs/targets/xtensa-softmmu.mak index 26c0285655..f075557bfa 100644 --- a/default-configs/targets/xtensa-softmmu.mak +++ b/default-configs/targets/xtensa-softmmu.mak @@ -1,3 +1,2 @@ TARGET_ARCH=xtensa -TARGET_ALIGNED_ONLY=y TARGET_SUPPORTS_MTTCG=y diff --git a/default-configs/targets/xtensaeb-linux-user.mak b/default-configs/targets/xtensaeb-linux-user.mak index cfc3518118..1ea0f1ba91 100644 --- a/default-configs/targets/xtensaeb-linux-user.mak +++ b/default-configs/targets/xtensaeb-linux-user.mak @@ -1,6 +1,5 @@ TARGET_ARCH=xtensa TARGET_SYSTBL_ABI=common TARGET_SYSTBL=syscall.tbl -TARGET_ALIGNED_ONLY=y TARGET_WORDS_BIGENDIAN=y TARGET_HAS_BFLT=y diff --git a/default-configs/targets/xtensaeb-softmmu.mak b/default-configs/targets/xtensaeb-softmmu.mak index 14cb9289a6..405cf5acbb 100644 --- a/default-configs/targets/xtensaeb-softmmu.mak +++ b/default-configs/targets/xtensaeb-softmmu.mak @@ -1,4 +1,3 @@ TARGET_ARCH=xtensa -TARGET_ALIGNED_ONLY=y TARGET_WORDS_BIGENDIAN=y TARGET_SUPPORTS_MTTCG=y |
