[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v7 00/27] TCI fixes and cleanups
From: |
Richard Henderson |
Subject: |
[PATCH v7 00/27] TCI fixes and cleanups |
Date: |
Tue, 1 Jun 2021 08:00:39 -0700 |
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
- [PATCH v7 00/27] TCI fixes and cleanups,
Richard Henderson <=
- [PATCH v7 02/27] tcg: Add tcg_call_flags, Richard Henderson, 2021/06/01
- [PATCH v7 03/27] accel/tcg/plugin-gen: Drop inline markers, Richard Henderson, 2021/06/01
- [PATCH v7 01/27] tcg: Combine dh_is_64bit and dh_is_signed to dh_typecode, Richard Henderson, 2021/06/01
- [PATCH v7 04/27] plugins: Drop tcg_flags from struct qemu_plugin_dyn_cb, Richard Henderson, 2021/06/01
- [PATCH v7 07/27] tcg: Add tcg_call_func, Richard Henderson, 2021/06/01
- [PATCH v7 05/27] accel/tcg: Add tcg call flags to plugins helpers, Richard Henderson, 2021/06/01
- [PATCH v7 06/27] tcg: Store the TCGHelperInfo in the TCGOp for call, Richard Henderson, 2021/06/01
- [PATCH v7 09/27] tcg/tci: Improve tcg_target_call_clobber_regs, Richard Henderson, 2021/06/01