aboutsummaryrefslogtreecommitdiff
path: root/scripts/rust/rustc_args.py
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2025-03-07 10:08:21 +0000
committerPeter Maydell <peter.maydell@linaro.org>2025-03-07 10:08:21 +0000
commitee786ca115045a2b7e86ac3073b0761cb99e0d49 (patch)
tree1bd155a2d5e8120e0837bf3163f8a653b39b4faf /scripts/rust/rustc_args.py
parentcde3247651dc998da5dc1005148302a90d72f21f (diff)
downloadqemu-ee786ca115045a2b7e86ac3073b0761cb99e0d49.zip
qemu-ee786ca115045a2b7e86ac3073b0761cb99e0d49.tar.gz
qemu-ee786ca115045a2b7e86ac3073b0761cb99e0d49.tar.bz2
target/arm: Correct STRD atomicity
Our STRD implementation doesn't correctly implement the requirement: * if the address is 8-aligned the access must be a 64-bit single-copy atomic access, not two 32-bit accesses Rewrite the handling of STRD to use a single tcg_gen_qemu_st_i64() of a value produced by concatenating the two 32 bit source registers. This allows us to get the atomicity right. As with the LDRD change, now that we don't update 'addr' in the course of performing the store we need to adjust the offset we pass to op_addr_ri_post() and op_addr_rr_post(). Cc: qemu-stable@nongnu.org Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-id: 20250227142746.1698904-3-peter.maydell@linaro.org
Diffstat (limited to 'scripts/rust/rustc_args.py')
0 files changed, 0 insertions, 0 deletions