diff options
| author | Peter Maydell <peter.maydell@linaro.org> | 2025-03-07 10:08:21 +0000 |
|---|---|---|
| committer | Peter Maydell <peter.maydell@linaro.org> | 2025-03-07 10:08:21 +0000 |
| commit | ee786ca115045a2b7e86ac3073b0761cb99e0d49 (patch) | |
| tree | 1bd155a2d5e8120e0837bf3163f8a653b39b4faf /util/qemu-timer.c | |
| parent | cde3247651dc998da5dc1005148302a90d72f21f (diff) | |
| download | focaccia-qemu-ee786ca115045a2b7e86ac3073b0761cb99e0d49.tar.gz focaccia-qemu-ee786ca115045a2b7e86ac3073b0761cb99e0d49.zip | |
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 'util/qemu-timer.c')
0 files changed, 0 insertions, 0 deletions