qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] target/arm: Fix unwind from dc zva and FEAT_MOPS
@ 2024-07-02 23:41 Richard Henderson
  2024-07-02 23:41 ` [PATCH 1/2] accel/tcg: Introduce memset_ra, memmove_ra Richard Henderson
                   ` (3 more replies)
  0 siblings, 4 replies; 11+ messages in thread
From: Richard Henderson @ 2024-07-02 23:41 UTC (permalink / raw)
  To: qemu-devel; +Cc: qemu-arm, qemu-ppc, iii, david, balaton

While looking into Zoltan's attempt to speed up ppc64 DCBZ
(data cache block set to zero), I wondered what AArch64 was
doing differently.  It turned out that Arm is the only user
of tlb_vaddr_to_host.

None of the code sequences in use between AArch64, Power64 and S390X
are 100% safe, with race conditions vs mmap et al, however, AArch64
is the only one that will fail this single threaded test case.  Use
of these new functions fixes the race condition as well, though I
have not yet touched the other guests.

I thought about exposing accel/tcg/user-retaddr.h for direct use
from the targets, but perhaps these wrappers are cleaner.  RFC?


r~


Richard Henderson (2):
  accel/tcg: Introduce memset_ra, memmove_ra
  target/arm: Use memset_ra, memmove_ra in helper-a64.c

 include/exec/cpu_ldst.h            | 40 ++++++++++++++++
 accel/tcg/user-exec.c              | 22 +++++++++
 target/arm/tcg/helper-a64.c        | 10 ++--
 tests/tcg/multiarch/memset-fault.c | 77 ++++++++++++++++++++++++++++++
 4 files changed, 144 insertions(+), 5 deletions(-)
 create mode 100644 tests/tcg/multiarch/memset-fault.c

-- 
2.34.1



^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2024-07-09 16:18 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-02 23:41 [PATCH 0/2] target/arm: Fix unwind from dc zva and FEAT_MOPS Richard Henderson
2024-07-02 23:41 ` [PATCH 1/2] accel/tcg: Introduce memset_ra, memmove_ra Richard Henderson
2024-07-08 14:31   ` Peter Maydell
2024-07-02 23:41 ` [PATCH 2/2] target/arm: Use memset_ra, memmove_ra in helper-a64.c Richard Henderson
2024-07-08 14:33   ` Peter Maydell
2024-07-04 14:50 ` [PATCH 0/2] target/arm: Fix unwind from dc zva and FEAT_MOPS Ilya Leoshkevich
2024-07-04 15:18   ` Richard Henderson
2024-07-04 21:48     ` Richard Henderson
2024-07-05 17:24       ` Ilya Leoshkevich
2024-07-08 14:25 ` Peter Maydell
2024-07-09 16:17   ` Richard Henderson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).