[Qemu-devel] [PATCH v3 0/9] tcg: Reorg 128-bit atomic operations

Richard Henderson posted 9 patches 5 years, 6 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20181003193931.18096-1-richard.henderson@linaro.org
Test docker-clang@ubuntu failed
Test checkpatch passed
Test docker-quick@centos7 passed
Test docker-mingw@fedora failed
accel/tcg/atomic_template.h |  20 ++-
include/qemu/atomic128.h    | 155 ++++++++++++++++++++++
target/ppc/helper.h         |   2 +-
tcg/tcg.h                   |  16 ++-
accel/tcg/cputlb.c          |   3 +-
accel/tcg/user-exec.c       |   5 +-
target/arm/helper-a64.c     | 251 ++++++++++++++++++------------------
target/arm/translate-a64.c  |  38 +++---
target/i386/mem_helper.c    |   9 +-
target/ppc/mem_helper.c     |  33 ++++-
target/ppc/translate.c      | 115 +++++++++--------
target/s390x/mem_helper.c   | 202 +++++++++++++----------------
target/s390x/translate.c    |  37 ++++--
configure                   |  19 +++
14 files changed, 561 insertions(+), 344 deletions(-)
create mode 100644 include/qemu/atomic128.h
[Qemu-devel] [PATCH v3 0/9] tcg: Reorg 128-bit atomic operations
Posted by Richard Henderson 5 years, 6 months ago
For v2, and history, see
  http://lists.nongnu.org/archive/html/qemu-devel/2018-08/msg04533.html

Changes since v2:
  * Fixed a typo noticed by Emilio.
  * Brought the target/s390x changes back, as the patches with
    which they conflicted are now in mainline.


r~


Richard Henderson (9):
  tcg: Split CONFIG_ATOMIC128
  target/i386: Convert to HAVE_CMPXCHG128
  target/arm: Convert to HAVE_CMPXCHG128
  target/arm: Check HAVE_CMPXCHG128 at translate time
  target/ppc: Convert to HAVE_CMPXCHG128 and HAVE_ATOMIC128
  target/s390x: Convert to HAVE_CMPXCHG128 and HAVE_ATOMIC128
  target/s390x: Split do_cdsg, do_lpq, do_stpq
  target/s390x: Skip wout, cout helpers if op helper does not return
  target/s390x: Check HAVE_ATOMIC128 and HAVE_CMPXCHG128 at translate

 accel/tcg/atomic_template.h |  20 ++-
 include/qemu/atomic128.h    | 155 ++++++++++++++++++++++
 target/ppc/helper.h         |   2 +-
 tcg/tcg.h                   |  16 ++-
 accel/tcg/cputlb.c          |   3 +-
 accel/tcg/user-exec.c       |   5 +-
 target/arm/helper-a64.c     | 251 ++++++++++++++++++------------------
 target/arm/translate-a64.c  |  38 +++---
 target/i386/mem_helper.c    |   9 +-
 target/ppc/mem_helper.c     |  33 ++++-
 target/ppc/translate.c      | 115 +++++++++--------
 target/s390x/mem_helper.c   | 202 +++++++++++++----------------
 target/s390x/translate.c    |  37 ++++--
 configure                   |  19 +++
 14 files changed, 561 insertions(+), 344 deletions(-)
 create mode 100644 include/qemu/atomic128.h

-- 
2.17.1


Re: [Qemu-devel] [PATCH v3 0/9] tcg: Reorg 128-bit atomic operations
Posted by Emilio G. Cota 5 years, 6 months ago
On Wed, Oct 03, 2018 at 14:39:22 -0500, Richard Henderson wrote:
(snip)
> Richard Henderson (9):
>   tcg: Split CONFIG_ATOMIC128
>   target/i386: Convert to HAVE_CMPXCHG128
>   target/arm: Convert to HAVE_CMPXCHG128
>   target/arm: Check HAVE_CMPXCHG128 at translate time
>   target/ppc: Convert to HAVE_CMPXCHG128 and HAVE_ATOMIC128
>   target/s390x: Convert to HAVE_CMPXCHG128 and HAVE_ATOMIC128
>   target/s390x: Split do_cdsg, do_lpq, do_stpq
>   target/s390x: Skip wout, cout helpers if op helper does not return
>   target/s390x: Check HAVE_ATOMIC128 and HAVE_CMPXCHG128 at translate

Cc'ing ppc/s390x maintainers -- I'm not sure they've seen this series.
Link to this thread (v3):
  https://lists.gnu.org/archive/html/qemu-devel/2018-10/msg00598.html

I'm eager to get this merged, particularly for i386 where it is
fixing unnecessary exits via exec_atomic for cmpxchg16 emulation.

Thanks,

		Emilio

Re: [Qemu-devel] [qemu-s390x] [PATCH v3 0/9] tcg: Reorg 128-bit atomic operations
Posted by David Hildenbrand 5 years, 6 months ago
On 09/10/2018 20:51, Emilio G. Cota wrote:
> On Wed, Oct 03, 2018 at 14:39:22 -0500, Richard Henderson wrote:
> (snip)
>> Richard Henderson (9):
>>   tcg: Split CONFIG_ATOMIC128
>>   target/i386: Convert to HAVE_CMPXCHG128
>>   target/arm: Convert to HAVE_CMPXCHG128
>>   target/arm: Check HAVE_CMPXCHG128 at translate time
>>   target/ppc: Convert to HAVE_CMPXCHG128 and HAVE_ATOMIC128
>>   target/s390x: Convert to HAVE_CMPXCHG128 and HAVE_ATOMIC128
>>   target/s390x: Split do_cdsg, do_lpq, do_stpq
>>   target/s390x: Skip wout, cout helpers if op helper does not return
>>   target/s390x: Check HAVE_ATOMIC128 and HAVE_CMPXCHG128 at translate
> 
> Cc'ing ppc/s390x maintainers -- I'm not sure they've seen this series.
> Link to this thread (v3):
>   https://lists.gnu.org/archive/html/qemu-devel/2018-10/msg00598.html
> 
> I'm eager to get this merged, particularly for i386 where it is
> fixing unnecessary exits via exec_atomic for cmpxchg16 emulation.
> 
> Thanks,
> 
> 		Emilio
> 

Thanks for the CC, I indeed haven't seen it.

-- 

Thanks,

David / dhildenb