[PATCH v7 00/27] TCI fixes and cleanups

Richard Henderson posted 27 patches 2 years, 10 months ago
Failed in applying to current master (apply log)
configure                                     |    3 +
meson.build                                   |    9 +-
accel/tcg/plugin-helpers.h                    |    5 +-
include/exec/helper-head.h                    |   37 +-
include/exec/helper-tcg.h                     |   34 +-
include/qemu/plugin.h                         |    1 -
include/tcg/tcg-opc.h                         |    4 +-
include/tcg/tcg.h                             |    1 +
target/hppa/helper.h                          |    3 -
target/i386/ops_sse_header.h                  |    3 -
target/m68k/helper.h                          |    1 -
target/ppc/helper.h                           |    3 -
tcg/internal.h                                |   50 +
tcg/tci/tcg-target-con-set.h                  |    1 +
tcg/tci/tcg-target.h                          |   68 +-
accel/tcg/plugin-gen.c                        |   20 +-
plugins/core.c                                |   30 +-
tcg/optimize.c                                |    3 +-
tcg/tcg.c                                     |  250 ++--
tcg/tci.c                                     | 1199 +++++++++--------
tcg/tci/tcg-target.c.inc                      |  550 ++++----
tcg/tci/README                                |   20 +-
tests/docker/dockerfiles/alpine.docker        |    1 +
tests/docker/dockerfiles/centos7.docker       |    1 +
tests/docker/dockerfiles/centos8.docker       |    1 +
tests/docker/dockerfiles/debian10.docker      |    1 +
.../dockerfiles/fedora-i386-cross.docker      |    1 +
.../dockerfiles/fedora-win32-cross.docker     |    1 +
.../dockerfiles/fedora-win64-cross.docker     |    1 +
tests/docker/dockerfiles/fedora.docker        |    1 +
tests/docker/dockerfiles/ubuntu.docker        |    1 +
tests/docker/dockerfiles/ubuntu1804.docker    |    1 +
tests/docker/dockerfiles/ubuntu2004.docker    |    1 +
tests/tcg/Makefile.target                     |    6 +-
34 files changed, 1243 insertions(+), 1069 deletions(-)
create mode 100644 tcg/internal.h
[PATCH v7 00/27] TCI fixes and cleanups
Posted by Richard Henderson 2 years, 10 months ago
About half of the patches have review.  These do not:

  04-plugins-Drop-tcg_flags-from-struct-qemu_plugin_dy.patch
  09-tcg-tci-Improve-tcg_target_call_clobber_regs.patch
  12-tcg-tci-Reserve-r13-for-a-temporary.patch
  13-tcg-tci-Emit-setcond-before-brcond.patch
  15-tcg-tci-Change-encoding-to-uint32_t-units.patch
  16-tcg-tci-Implement-goto_ptr.patch
  22-tcg-tci-Implement-add2-sub2.patch
  23-tcg-tci-Split-out-tci_qemu_ld-tci_qemu_st.patch
  24-Revert-tcg-tci-Use-exec-cpu_ldst.h-interfaces.patch
  25-tcg-tci-Remove-the-qemu_ld-st_type-macros.patch
  26-tcg-tci-Use-set-clear-_helper_retaddr.patch

Changes since v6:
  * The new xtensa test_load_store.S test highlighted alignment
    exceptions that got lost earlier (my fault).  So revert a
    previously committed patch of this series and fix that up.

Changes since v5:
  * More patches now upstream.
  * Re-work how ffi is used, to avoid breaking plugins.

Changes since v4:
  * 19 more patches now upstream.

Changes since v3:
  * First patch fixes g2h() breakage.  This shows a hole in our CI,
    in that we only build softmmu with TCI, not linux-user.
  * Tidy-up for the magic qemu_ld/st macros.
  * Fix libffi return value case with ffi_arg.

Changes since v2:
  * 20-something patches are now upstream.
  * Increase testing timeout for tci.
  * Gitlab testing for tci w/ 32-bit host.


r~



Richard Henderson (27):
  tcg: Combine dh_is_64bit and dh_is_signed to dh_typecode
  tcg: Add tcg_call_flags
  accel/tcg/plugin-gen: Drop inline markers
  plugins: Drop tcg_flags from struct qemu_plugin_dyn_cb
  accel/tcg: Add tcg call flags to plugins helpers
  tcg: Store the TCGHelperInfo in the TCGOp for call
  tcg: Add tcg_call_func
  tcg: Build ffi data structures for helpers
  tcg/tci: Improve tcg_target_call_clobber_regs
  tcg/tci: Move call-return regs to end of tcg_target_reg_alloc_order
  tcg/tci: Use ffi for calls
  tcg/tci: Reserve r13 for a temporary
  tcg/tci: Emit setcond before brcond
  tcg/tci: Remove tci_write_reg
  tcg/tci: Change encoding to uint32_t units
  tcg/tci: Implement goto_ptr
  tcg/tci: Implement movcond
  tcg/tci: Implement andc, orc, eqv, nand, nor
  tcg/tci: Implement extract, sextract
  tcg/tci: Implement clz, ctz, ctpop
  tcg/tci: Implement mulu2, muls2
  tcg/tci: Implement add2, sub2
  tcg/tci: Split out tci_qemu_ld, tci_qemu_st
  Revert "tcg/tci: Use exec/cpu_ldst.h interfaces"
  tcg/tci: Remove the qemu_ld/st_type macros
  tcg/tci: Use {set,clear}_helper_retaddr
  tests/tcg: Increase timeout for TCI

 configure                                     |    3 +
 meson.build                                   |    9 +-
 accel/tcg/plugin-helpers.h                    |    5 +-
 include/exec/helper-head.h                    |   37 +-
 include/exec/helper-tcg.h                     |   34 +-
 include/qemu/plugin.h                         |    1 -
 include/tcg/tcg-opc.h                         |    4 +-
 include/tcg/tcg.h                             |    1 +
 target/hppa/helper.h                          |    3 -
 target/i386/ops_sse_header.h                  |    3 -
 target/m68k/helper.h                          |    1 -
 target/ppc/helper.h                           |    3 -
 tcg/internal.h                                |   50 +
 tcg/tci/tcg-target-con-set.h                  |    1 +
 tcg/tci/tcg-target.h                          |   68 +-
 accel/tcg/plugin-gen.c                        |   20 +-
 plugins/core.c                                |   30 +-
 tcg/optimize.c                                |    3 +-
 tcg/tcg.c                                     |  250 ++--
 tcg/tci.c                                     | 1199 +++++++++--------
 tcg/tci/tcg-target.c.inc                      |  550 ++++----
 tcg/tci/README                                |   20 +-
 tests/docker/dockerfiles/alpine.docker        |    1 +
 tests/docker/dockerfiles/centos7.docker       |    1 +
 tests/docker/dockerfiles/centos8.docker       |    1 +
 tests/docker/dockerfiles/debian10.docker      |    1 +
 .../dockerfiles/fedora-i386-cross.docker      |    1 +
 .../dockerfiles/fedora-win32-cross.docker     |    1 +
 .../dockerfiles/fedora-win64-cross.docker     |    1 +
 tests/docker/dockerfiles/fedora.docker        |    1 +
 tests/docker/dockerfiles/ubuntu.docker        |    1 +
 tests/docker/dockerfiles/ubuntu1804.docker    |    1 +
 tests/docker/dockerfiles/ubuntu2004.docker    |    1 +
 tests/tcg/Makefile.target                     |    6 +-
 34 files changed, 1243 insertions(+), 1069 deletions(-)
 create mode 100644 tcg/internal.h

-- 
2.25.1


Re: [PATCH v7 00/27] TCI fixes and cleanups
Posted by Philippe Mathieu-Daudé 2 years, 10 months ago
On 6/1/21 5:00 PM, Richard Henderson wrote:
> Richard Henderson (27):
>   tcg: Combine dh_is_64bit and dh_is_signed to dh_typecode
>   tcg: Add tcg_call_flags
>   accel/tcg/plugin-gen: Drop inline markers
>   plugins: Drop tcg_flags from struct qemu_plugin_dyn_cb
>   accel/tcg: Add tcg call flags to plugins helpers
>   tcg: Store the TCGHelperInfo in the TCGOp for call
>   tcg: Add tcg_call_func
>   tcg: Build ffi data structures for helpers
>   tcg/tci: Improve tcg_target_call_clobber_regs
>   tcg/tci: Move call-return regs to end of tcg_target_reg_alloc_order
>   tcg/tci: Use ffi for calls
>   tcg/tci: Reserve r13 for a temporary
>   tcg/tci: Emit setcond before brcond
>   tcg/tci: Remove tci_write_reg
>   tcg/tci: Change encoding to uint32_t units
>   tcg/tci: Implement goto_ptr
>   tcg/tci: Implement movcond
>   tcg/tci: Implement andc, orc, eqv, nand, nor
>   tcg/tci: Implement extract, sextract
>   tcg/tci: Implement clz, ctz, ctpop
>   tcg/tci: Implement mulu2, muls2
>   tcg/tci: Implement add2, sub2
>   tcg/tci: Split out tci_qemu_ld, tci_qemu_st
>   Revert "tcg/tci: Use exec/cpu_ldst.h interfaces"
>   tcg/tci: Remove the qemu_ld/st_type macros
>   tcg/tci: Use {set,clear}_helper_retaddr
>   tests/tcg: Increase timeout for TCI

Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>

Re: [PATCH v7 00/27] TCI fixes and cleanups
Posted by no-reply@patchew.org 2 years, 10 months ago
Patchew URL: https://patchew.org/QEMU/20210601150106.12761-1-richard.henderson@linaro.org/



Hi,

This series seems to have some coding style problems. See output below for
more information:

Type: series
Message-id: 20210601150106.12761-1-richard.henderson@linaro.org
Subject: [PATCH v7 00/27] TCI fixes and cleanups

=== TEST SCRIPT BEGIN ===
#!/bin/bash
git rev-parse base > /dev/null || exit 0
git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram
./scripts/checkpatch.pl --mailback base..
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
 * [new tag]         patchew/20210601143749.1669-1-anaidu.gollu@samsung.com -> patchew/20210601143749.1669-1-anaidu.gollu@samsung.com
 * [new tag]         patchew/20210601150106.12761-1-richard.henderson@linaro.org -> patchew/20210601150106.12761-1-richard.henderson@linaro.org
Switched to a new branch 'test'
ff73f2a tests/tcg: Increase timeout for TCI
f786057 tcg/tci: Use {set,clear}_helper_retaddr
190ad1f tcg/tci: Remove the qemu_ld/st_type macros
1e2156a Revert "tcg/tci: Use exec/cpu_ldst.h interfaces"
5500fe7 tcg/tci: Split out tci_qemu_ld, tci_qemu_st
cc70f98 tcg/tci: Implement add2, sub2
fe9d5c6 tcg/tci: Implement mulu2, muls2
2da224a tcg/tci: Implement clz, ctz, ctpop
e4cd4f1 tcg/tci: Implement extract, sextract
e637074 tcg/tci: Implement andc, orc, eqv, nand, nor
fe78aa9 tcg/tci: Implement movcond
4244f97 tcg/tci: Implement goto_ptr
d5129d0 tcg/tci: Change encoding to uint32_t units
b9936ff tcg/tci: Remove tci_write_reg
55ddc15 tcg/tci: Emit setcond before brcond
7d88fcd tcg/tci: Reserve r13 for a temporary
e4d9785 tcg/tci: Use ffi for calls
7c53811 tcg/tci: Move call-return regs to end of tcg_target_reg_alloc_order
df9f663 tcg/tci: Improve tcg_target_call_clobber_regs
7b199c1 tcg: Build ffi data structures for helpers
4cdaf7c tcg: Add tcg_call_func
b5d0c45 tcg: Store the TCGHelperInfo in the TCGOp for call
998791a accel/tcg: Add tcg call flags to plugins helpers
31812d5 plugins: Drop tcg_flags from struct qemu_plugin_dyn_cb
b12d667 accel/tcg/plugin-gen: Drop inline markers
857f3d7 tcg: Add tcg_call_flags
7507c52 tcg: Combine dh_is_64bit and dh_is_signed to dh_typecode

=== OUTPUT BEGIN ===
1/27 Checking commit 7507c521494e (tcg: Combine dh_is_64bit and dh_is_signed to dh_typecode)
2/27 Checking commit 857f3d7ba371 (tcg: Add tcg_call_flags)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#21: 
new file mode 100644

total: 0 errors, 1 warnings, 106 lines checked

Patch 2/27 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
3/27 Checking commit b12d66702acb (accel/tcg/plugin-gen: Drop inline markers)
4/27 Checking commit 31812d57a48c (plugins: Drop tcg_flags from struct qemu_plugin_dyn_cb)
5/27 Checking commit 998791ad868e (accel/tcg: Add tcg call flags to plugins helpers)
WARNING: line over 80 characters
#27: FILE: accel/tcg/plugin-helpers.h:3:
+DEF_HELPER_FLAGS_4(plugin_vcpu_mem_cb, TCG_CALL_NO_RWG, void, i32, i32, i64, ptr)

total: 0 errors, 1 warnings, 6 lines checked

Patch 5/27 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
6/27 Checking commit b5d0c45e0f8b (tcg: Store the TCGHelperInfo in the TCGOp for call)
7/27 Checking commit 4cdaf7c2074a (tcg: Add tcg_call_func)
8/27 Checking commit 7b199c1dd9c5 (tcg: Build ffi data structures for helpers)
9/27 Checking commit df9f6637a168 (tcg/tci: Improve tcg_target_call_clobber_regs)
10/27 Checking commit 7c538119a809 (tcg/tci: Move call-return regs to end of tcg_target_reg_alloc_order)
11/27 Checking commit e4d97852d0bf (tcg/tci: Use ffi for calls)
ERROR: suspect code indent for conditional statements (8, 11)
#74: FILE: tcg/tcg.c:2148:
         if (TCG_TARGET_REG_BITS < 64 && is_64bit) {
+           /*

total: 1 errors, 0 warnings, 392 lines checked

Patch 11/27 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

12/27 Checking commit 7d88fcde0f51 (tcg/tci: Reserve r13 for a temporary)
13/27 Checking commit 55ddc15b0444 (tcg/tci: Emit setcond before brcond)
14/27 Checking commit b9936ff729dd (tcg/tci: Remove tci_write_reg)
15/27 Checking commit d5129d03bd95 (tcg/tci: Change encoding to uint32_t units)
16/27 Checking commit 4244f975b69a (tcg/tci: Implement goto_ptr)
17/27 Checking commit fe78aa960301 (tcg/tci: Implement movcond)
18/27 Checking commit e6370741791a (tcg/tci: Implement andc, orc, eqv, nand, nor)
19/27 Checking commit e4cd4f1ec298 (tcg/tci: Implement extract, sextract)
20/27 Checking commit 2da224ab55ce (tcg/tci: Implement clz, ctz, ctpop)
21/27 Checking commit fe9d5c60a7de (tcg/tci: Implement mulu2, muls2)
22/27 Checking commit cc70f986db4d (tcg/tci: Implement add2, sub2)
23/27 Checking commit 5500fe728bcf (tcg/tci: Split out tci_qemu_ld, tci_qemu_st)
24/27 Checking commit 1e2156aa0738 (Revert "tcg/tci: Use exec/cpu_ldst.h interfaces")
25/27 Checking commit 190ad1f3880e (tcg/tci: Remove the qemu_ld/st_type macros)
26/27 Checking commit f7860570bfc8 (tcg/tci: Use {set,clear}_helper_retaddr)
27/27 Checking commit ff73f2a5fabe (tests/tcg: Increase timeout for TCI)
=== OUTPUT END ===

Test command exited with code: 1


The full log is available at
http://patchew.org/logs/20210601150106.12761-1-richard.henderson@linaro.org/testing.checkpatch/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com