[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3 00/70] TCI fixes and cleanups
From: |
Alex Bennée |
Subject: |
Re: [PATCH v3 00/70] TCI fixes and cleanups |
Date: |
Fri, 05 Mar 2021 16:37:40 +0000 |
User-agent: |
mu4e 1.5.8; emacs 28.0.50 |
Richard Henderson <richard.henderson@linaro.org> writes:
> Changes since v2:
> * 20-something patches are now upstream.
> * Increase testing timeout for tci.
> * Gitlab testing for tci w/ 32-bit host.
Hmm that fails with this applied on the current master:
cc -Ilibqemu-i386-linux-user.fa.p -I. -I.. -Itarget/i386 -I../target/i386
-I../linux-user/host/i386 -Ilinux-user -I../linux-user -Ilinux-user/i386
-I../linux-user/i386 -I../capstone/include/capstone -Itrace -Iqapi -Iui
-Iui/shader -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-fdiagnostics-color=auto -pipe -Wall -Winvalid-pch -Werror -std=gnu99 -O2 -g
-isystem /builds/stsquad/qemu/linux-headers -isystem linux-headers -iquote .
-iquote /builds/stsquad/qemu -iquote /builds/stsquad/qemu/include -iquote
/builds/stsquad/qemu/disas/libvixl -iquote /builds/stsquad/qemu/tcg/tci -iquote
/builds/stsquad/qemu/accel/tcg -pthread -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2
-m32 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
-Wstrict-prototypes -Wredundant-decls -Wundef -Wwrite-strings
-Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -m32
-Wold-style-declaration -Wold-style-definition -Wtype-limits -Wformat-security
-Wformat-y2k -Winit-self -Wignored-qualifiers -Wempty-body -Wnested-externs
-Wendif-labels -Wexpansion-to-defined -Wimplicit-fallthrough=2
-Wno-missing-include-dirs -Wno-shift-negative-value -Wno-psabi
-fstack-protector-strong -fPIC -isystem../linux-headers -isystemlinux-headers
-DNEED_CPU_H '-DCONFIG_TARGET="i386-linux-user-config-target.h"'
'-DCONFIG_DEVICES="i386-linux-user-config-devices.h"' -MD -MQ
libqemu-i386-linux-user.fa.p/tcg_tci.c.o -MF
libqemu-i386-linux-user.fa.p/tcg_tci.c.o.d -o
libqemu-i386-linux-user.fa.p/tcg_tci.c.o -c ../tcg/tci.c
../tcg/tci.c: In function 'tcg_qemu_tb_exec':
../tcg/tci.c:317:37: error: passing argument 1 of 'g2h' makes pointer from
integer without a cast [-Werror=int-conversion]
317 | # define qemu_ld_ub ldub_p(g2h(taddr))
| ^~~~~
| |
| target_ulong {aka unsigned int}
../tcg/tci.c:923:25: note: in expansion of macro 'qemu_ld_ub'
923 | tmp32 = qemu_ld_ub;
| ^~~~~~~~~~
and more:
https://gitlab.com/stsquad/qemu/-/jobs/1076231320
>
>
> r~
>
>
> Richard Henderson (70):
> gdbstub: Fix handle_query_xfer_auxv
> tcg: Split out tcg_raise_tb_overflow
> tcg: Manage splitwx in tc_ptr_to_region_tree by hand
> tcg/tci: Merge identical cases in generation
> tcg/tci: Remove tci_read_r8
> tcg/tci: Remove tci_read_r8s
> tcg/tci: Remove tci_read_r16
> tcg/tci: Remove tci_read_r16s
> tcg/tci: Remove tci_read_r32
> tcg/tci: Remove tci_read_r32s
> tcg/tci: Reduce use of tci_read_r64
> tcg/tci: Merge basic arithmetic operations
> tcg/tci: Merge extension operations
> tcg/tci: Remove ifdefs for TCG_TARGET_HAS_ext32[us]_i64
> tcg/tci: Merge bswap operations
> tcg/tci: Merge mov, not and neg operations
> tcg/tci: Rename tci_read_r to tci_read_rval
> tcg/tci: Split out tci_args_rrs
> tcg/tci: Split out tci_args_rr
> tcg/tci: Split out tci_args_rrr
> tcg/tci: Split out tci_args_rrrc
> tcg/tci: Split out tci_args_l
> tcg/tci: Split out tci_args_rrrrrc
> tcg/tci: Split out tci_args_rrcl and tci_args_rrrrcl
> tcg/tci: Split out tci_args_ri and tci_args_rI
> tcg/tci: Reuse tci_args_l for calls.
> tcg/tci: Reuse tci_args_l for exit_tb
> tcg/tci: Reuse tci_args_l for goto_tb
> tcg/tci: Split out tci_args_rrrrrr
> tcg/tci: Split out tci_args_rrrr
> tcg/tci: Clean up deposit operations
> tcg/tci: Reduce qemu_ld/st TCGMemOpIdx operand to 32-bits
> tcg/tci: Split out tci_args_{rrm,rrrm,rrrrm}
> tcg/tci: Hoist op_size checking into tci_args_*
> tcg/tci: Remove tci_disas
> tcg/tci: Implement the disassembler properly
> tcg: Build ffi data structures for helpers
> tcg/tci: Use ffi for calls
> tcg/tci: Improve tcg_target_call_clobber_regs
> tcg/tci: Move call-return regs to end of tcg_target_reg_alloc_order
> tcg/tci: Push opcode emit into each case
> tcg/tci: Split out tcg_out_op_rrs
> tcg/tci: Split out tcg_out_op_l
> tcg/tci: Split out tcg_out_op_p
> tcg/tci: Split out tcg_out_op_rr
> tcg/tci: Split out tcg_out_op_rrr
> tcg/tci: Split out tcg_out_op_rrrc
> tcg/tci: Split out tcg_out_op_rrrrrc
> tcg/tci: Split out tcg_out_op_rrrbb
> tcg/tci: Split out tcg_out_op_rrcl
> tcg/tci: Split out tcg_out_op_rrrrrr
> tcg/tci: Split out tcg_out_op_rrrr
> tcg/tci: Split out tcg_out_op_rrrrcl
> tcg/tci: Split out tcg_out_op_{rrm,rrrm,rrrrm}
> tcg/tci: Split out tcg_out_op_v
> tcg/tci: Split out tcg_out_op_np
> tcg/tci: Split out tcg_out_op_r[iI]
> 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
> tests/tcg: Increase timeout for TCI
> gitlab: Enable cross-i386 builds of TCI
>
> configure | 3 +
> meson.build | 9 +-
> include/exec/helper-ffi.h | 115 ++
> include/exec/helper-tcg.h | 24 +-
> include/tcg/tcg-opc.h | 6 +-
> include/tcg/tcg.h | 1 +
> target/hppa/helper.h | 2 +
> target/i386/ops_sse_header.h | 6 +
> target/m68k/helper.h | 1 +
> target/ppc/helper.h | 3 +
> tcg/tci/tcg-target-con-set.h | 2 +-
> tcg/tci/tcg-target.h | 81 +-
> disas/tci.c | 61 -
> gdbstub.c | 17 +-
> tcg/tcg.c | 117 +-
> tcg/tci.c | 1536 ++++++++++-------
> tcg/tci/tcg-target.c.inc | 926 +++++-----
> .gitlab-ci.d/crossbuilds.yml | 17 +-
> tcg/tci/README | 20 +-
> .../dockerfiles/fedora-i386-cross.docker | 1 +
> tests/docker/dockerfiles/fedora.docker | 1 +
> tests/tcg/Makefile.target | 6 +-
> 22 files changed, 1727 insertions(+), 1228 deletions(-)
> create mode 100644 include/exec/helper-ffi.h
> delete mode 100644 disas/tci.c
--
Alex Bennée
- Re: [PATCH v3 00/70] TCI fixes and cleanups,
Alex Bennée <=