* [PATCH v2 00/48] tcg patch queue
@ 2023-08-24 18:28 Richard Henderson
2023-08-24 18:54 ` [PULL " Richard Henderson
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Richard Henderson @ 2023-08-24 18:28 UTC (permalink / raw)
To: qemu-devel
The following changes since commit 50e7a40af372ee5931c99ef7390f5d3d6fbf6ec4:
Merge tag 'pull-target-arm-20230824' of https://git.linaro.org/people/pmaydell/qemu-arm into staging (2023-08-24 10:08:33 -0400)
are available in the Git repository at:
https://gitlab.com/rth7680/qemu.git tags/pull-tcg-20230823-2
for you to fetch changes up to 4daad8d9d6b9d426beb8ce505d2164ba36ea3168:
tcg: spelling fixes (2023-08-24 11:22:42 -0700)
----------------------------------------------------------------
accel/*: Widen pc/saved_insn for *_sw_breakpoint
accel/tcg: Replace remaining target_ulong in system-mode accel
tcg: spelling fixes
tcg: Document bswap, hswap, wswap byte patterns
tcg: Introduce negsetcond opcodes
tcg: Fold deposit with zero to and
tcg: Unify TCG_TARGET_HAS_extr[lh]_i64_i32
tcg/i386: Drop BYTEH deposits for 64-bit
tcg/i386: Allow immediate as input to deposit
target/*: Use tcg_gen_negsetcond_*
----------------------------------------------------------------
Anton Johansson (9):
accel/kvm: Widen pc/saved_insn for kvm_sw_breakpoint
accel/hvf: Widen pc/saved_insn for hvf_sw_breakpoint
sysemu/kvm: Use vaddr for kvm_arch_[insert|remove]_hw_breakpoint
sysemu/hvf: Use vaddr for hvf_arch_[insert|remove]_hw_breakpoint
include/exec: Replace target_ulong with abi_ptr in cpu_[st|ld]*()
include/exec: typedef abi_ptr to vaddr in softmmu
include/exec: Widen tlb_hit/tlb_hit_page()
accel/tcg: Widen address arg in tlb_compare_set()
accel/tcg: Update run_on_cpu_data static assert
Mark Cave-Ayland (1):
docs/devel/tcg-ops: fix missing newlines in "Host vector operations"
Michael Tokarev (1):
tcg: spelling fixes
Philippe Mathieu-Daudé (9):
docs/devel/tcg-ops: Bury mentions of trunc_shr_i64_i32()
tcg/tcg-op: Document bswap16_i32() byte pattern
tcg/tcg-op: Document bswap16_i64() byte pattern
tcg/tcg-op: Document bswap32_i32() byte pattern
tcg/tcg-op: Document bswap32_i64() byte pattern
tcg/tcg-op: Document bswap64_i64() byte pattern
tcg/tcg-op: Document hswap_i32/64() byte pattern
tcg/tcg-op: Document wswap_i64() byte pattern
target/cris: Fix a typo in gen_swapr()
Richard Henderson (28):
target/m68k: Use tcg_gen_deposit_i32 in gen_partset_reg
tcg/i386: Drop BYTEH deposits for 64-bit
tcg: Fold deposit with zero to and
tcg/i386: Allow immediate as input to deposit_*
tcg: Unify TCG_TARGET_HAS_extr[lh]_i64_i32
tcg: Introduce negsetcond opcodes
tcg: Use tcg_gen_negsetcond_*
target/alpha: Use tcg_gen_movcond_i64 in gen_fold_mzero
target/arm: Use tcg_gen_negsetcond_*
target/m68k: Use tcg_gen_negsetcond_*
target/openrisc: Use tcg_gen_negsetcond_*
target/ppc: Use tcg_gen_negsetcond_*
target/sparc: Use tcg_gen_movcond_i64 in gen_edge
target/tricore: Replace gen_cond_w with tcg_gen_negsetcond_tl
tcg/ppc: Implement negsetcond_*
tcg/ppc: Use the Set Boolean Extension
tcg/aarch64: Implement negsetcond_*
tcg/arm: Implement negsetcond_i32
tcg/riscv: Implement negsetcond_*
tcg/s390x: Implement negsetcond_*
tcg/sparc64: Implement negsetcond_*
tcg/i386: Merge tcg_out_brcond{32,64}
tcg/i386: Merge tcg_out_setcond{32,64}
tcg/i386: Merge tcg_out_movcond{32,64}
tcg/i386: Use CMP+SBB in tcg_out_setcond
tcg/i386: Clear dest first in tcg_out_setcond if possible
tcg/i386: Use shift in tcg_out_setcond
tcg/i386: Implement negsetcond_*
docs/devel/tcg-ops.rst | 15 +-
accel/tcg/atomic_template.h | 16 +-
include/exec/cpu-all.h | 4 +-
include/exec/cpu_ldst.h | 28 +--
include/sysemu/hvf.h | 12 +-
include/sysemu/kvm.h | 12 +-
include/tcg/tcg-op-common.h | 4 +
include/tcg/tcg-op.h | 2 +
include/tcg/tcg-opc.h | 6 +-
include/tcg/tcg.h | 4 +-
tcg/aarch64/tcg-target.h | 5 +-
tcg/arm/tcg-target.h | 1 +
tcg/i386/tcg-target-con-set.h | 2 +-
tcg/i386/tcg-target-con-str.h | 1 -
tcg/i386/tcg-target.h | 9 +-
tcg/loongarch64/tcg-target.h | 6 +-
tcg/mips/tcg-target.h | 5 +-
tcg/ppc/tcg-target.h | 5 +-
tcg/riscv/tcg-target.h | 5 +-
tcg/s390x/tcg-target.h | 5 +-
tcg/sparc64/tcg-target.h | 5 +-
tcg/tci/tcg-target.h | 5 +-
accel/hvf/hvf-accel-ops.c | 4 +-
accel/hvf/hvf-all.c | 2 +-
accel/kvm/kvm-all.c | 3 +-
accel/tcg/cputlb.c | 17 +-
target/alpha/translate.c | 7 +-
target/arm/hvf/hvf.c | 4 +-
target/arm/kvm64.c | 6 +-
target/arm/tcg/translate-a64.c | 22 +--
target/arm/tcg/translate.c | 12 +-
target/cris/translate.c | 20 +-
target/i386/hvf/hvf.c | 4 +-
target/i386/kvm/kvm.c | 8 +-
target/m68k/translate.c | 35 ++--
target/openrisc/translate.c | 6 +-
target/ppc/kvm.c | 13 +-
target/riscv/vector_helper.c | 2 +-
target/rx/op_helper.c | 6 +-
target/s390x/kvm/kvm.c | 6 +-
target/sparc/translate.c | 17 +-
target/tricore/translate.c | 16 +-
tcg/optimize.c | 78 +++++++-
tcg/tcg-op-gvec.c | 6 +-
tcg/tcg-op.c | 151 ++++++++++++---
tcg/tcg.c | 9 +-
target/ppc/translate/fixedpoint-impl.c.inc | 6 +-
target/ppc/translate/vmx-impl.c.inc | 8 +-
tcg/aarch64/tcg-target.c.inc | 14 +-
tcg/arm/tcg-target.c.inc | 19 +-
tcg/i386/tcg-target.c.inc | 291 ++++++++++++++++++-----------
tcg/ppc/tcg-target.c.inc | 149 ++++++++++-----
tcg/riscv/tcg-target.c.inc | 49 ++++-
tcg/s390x/tcg-target.c.inc | 78 +++++---
tcg/sparc64/tcg-target.c.inc | 40 +++-
55 files changed, 832 insertions(+), 433 deletions(-)
^ permalink raw reply [flat|nested] 6+ messages in thread* [PULL v2 00/48] tcg patch queue 2023-08-24 18:28 [PATCH v2 00/48] tcg patch queue Richard Henderson @ 2023-08-24 18:54 ` Richard Henderson 2023-08-28 21:14 ` [PATCH " Stefan Hajnoczi 2023-08-28 22:52 ` Stefan Hajnoczi 2 siblings, 0 replies; 6+ messages in thread From: Richard Henderson @ 2023-08-24 18:54 UTC (permalink / raw) To: qemu-devel, Stefan Hajnoczi Dangit, missed the PULL tag for v2. The only change is fixing Anton's --author. r~ On 8/24/23 11:28, Richard Henderson wrote: > The following changes since commit 50e7a40af372ee5931c99ef7390f5d3d6fbf6ec4: > > Merge tag 'pull-target-arm-20230824' of https://git.linaro.org/people/pmaydell/qemu-arm into staging (2023-08-24 10:08:33 -0400) > > are available in the Git repository at: > > https://gitlab.com/rth7680/qemu.git tags/pull-tcg-20230823-2 > > for you to fetch changes up to 4daad8d9d6b9d426beb8ce505d2164ba36ea3168: > > tcg: spelling fixes (2023-08-24 11:22:42 -0700) > > ---------------------------------------------------------------- > accel/*: Widen pc/saved_insn for *_sw_breakpoint > accel/tcg: Replace remaining target_ulong in system-mode accel > tcg: spelling fixes > tcg: Document bswap, hswap, wswap byte patterns > tcg: Introduce negsetcond opcodes > tcg: Fold deposit with zero to and > tcg: Unify TCG_TARGET_HAS_extr[lh]_i64_i32 > tcg/i386: Drop BYTEH deposits for 64-bit > tcg/i386: Allow immediate as input to deposit > target/*: Use tcg_gen_negsetcond_* > > ---------------------------------------------------------------- > Anton Johansson (9): > accel/kvm: Widen pc/saved_insn for kvm_sw_breakpoint > accel/hvf: Widen pc/saved_insn for hvf_sw_breakpoint > sysemu/kvm: Use vaddr for kvm_arch_[insert|remove]_hw_breakpoint > sysemu/hvf: Use vaddr for hvf_arch_[insert|remove]_hw_breakpoint > include/exec: Replace target_ulong with abi_ptr in cpu_[st|ld]*() > include/exec: typedef abi_ptr to vaddr in softmmu > include/exec: Widen tlb_hit/tlb_hit_page() > accel/tcg: Widen address arg in tlb_compare_set() > accel/tcg: Update run_on_cpu_data static assert > > Mark Cave-Ayland (1): > docs/devel/tcg-ops: fix missing newlines in "Host vector operations" > > Michael Tokarev (1): > tcg: spelling fixes > > Philippe Mathieu-Daudé (9): > docs/devel/tcg-ops: Bury mentions of trunc_shr_i64_i32() > tcg/tcg-op: Document bswap16_i32() byte pattern > tcg/tcg-op: Document bswap16_i64() byte pattern > tcg/tcg-op: Document bswap32_i32() byte pattern > tcg/tcg-op: Document bswap32_i64() byte pattern > tcg/tcg-op: Document bswap64_i64() byte pattern > tcg/tcg-op: Document hswap_i32/64() byte pattern > tcg/tcg-op: Document wswap_i64() byte pattern > target/cris: Fix a typo in gen_swapr() > > Richard Henderson (28): > target/m68k: Use tcg_gen_deposit_i32 in gen_partset_reg > tcg/i386: Drop BYTEH deposits for 64-bit > tcg: Fold deposit with zero to and > tcg/i386: Allow immediate as input to deposit_* > tcg: Unify TCG_TARGET_HAS_extr[lh]_i64_i32 > tcg: Introduce negsetcond opcodes > tcg: Use tcg_gen_negsetcond_* > target/alpha: Use tcg_gen_movcond_i64 in gen_fold_mzero > target/arm: Use tcg_gen_negsetcond_* > target/m68k: Use tcg_gen_negsetcond_* > target/openrisc: Use tcg_gen_negsetcond_* > target/ppc: Use tcg_gen_negsetcond_* > target/sparc: Use tcg_gen_movcond_i64 in gen_edge > target/tricore: Replace gen_cond_w with tcg_gen_negsetcond_tl > tcg/ppc: Implement negsetcond_* > tcg/ppc: Use the Set Boolean Extension > tcg/aarch64: Implement negsetcond_* > tcg/arm: Implement negsetcond_i32 > tcg/riscv: Implement negsetcond_* > tcg/s390x: Implement negsetcond_* > tcg/sparc64: Implement negsetcond_* > tcg/i386: Merge tcg_out_brcond{32,64} > tcg/i386: Merge tcg_out_setcond{32,64} > tcg/i386: Merge tcg_out_movcond{32,64} > tcg/i386: Use CMP+SBB in tcg_out_setcond > tcg/i386: Clear dest first in tcg_out_setcond if possible > tcg/i386: Use shift in tcg_out_setcond > tcg/i386: Implement negsetcond_* > > docs/devel/tcg-ops.rst | 15 +- > accel/tcg/atomic_template.h | 16 +- > include/exec/cpu-all.h | 4 +- > include/exec/cpu_ldst.h | 28 +-- > include/sysemu/hvf.h | 12 +- > include/sysemu/kvm.h | 12 +- > include/tcg/tcg-op-common.h | 4 + > include/tcg/tcg-op.h | 2 + > include/tcg/tcg-opc.h | 6 +- > include/tcg/tcg.h | 4 +- > tcg/aarch64/tcg-target.h | 5 +- > tcg/arm/tcg-target.h | 1 + > tcg/i386/tcg-target-con-set.h | 2 +- > tcg/i386/tcg-target-con-str.h | 1 - > tcg/i386/tcg-target.h | 9 +- > tcg/loongarch64/tcg-target.h | 6 +- > tcg/mips/tcg-target.h | 5 +- > tcg/ppc/tcg-target.h | 5 +- > tcg/riscv/tcg-target.h | 5 +- > tcg/s390x/tcg-target.h | 5 +- > tcg/sparc64/tcg-target.h | 5 +- > tcg/tci/tcg-target.h | 5 +- > accel/hvf/hvf-accel-ops.c | 4 +- > accel/hvf/hvf-all.c | 2 +- > accel/kvm/kvm-all.c | 3 +- > accel/tcg/cputlb.c | 17 +- > target/alpha/translate.c | 7 +- > target/arm/hvf/hvf.c | 4 +- > target/arm/kvm64.c | 6 +- > target/arm/tcg/translate-a64.c | 22 +-- > target/arm/tcg/translate.c | 12 +- > target/cris/translate.c | 20 +- > target/i386/hvf/hvf.c | 4 +- > target/i386/kvm/kvm.c | 8 +- > target/m68k/translate.c | 35 ++-- > target/openrisc/translate.c | 6 +- > target/ppc/kvm.c | 13 +- > target/riscv/vector_helper.c | 2 +- > target/rx/op_helper.c | 6 +- > target/s390x/kvm/kvm.c | 6 +- > target/sparc/translate.c | 17 +- > target/tricore/translate.c | 16 +- > tcg/optimize.c | 78 +++++++- > tcg/tcg-op-gvec.c | 6 +- > tcg/tcg-op.c | 151 ++++++++++++--- > tcg/tcg.c | 9 +- > target/ppc/translate/fixedpoint-impl.c.inc | 6 +- > target/ppc/translate/vmx-impl.c.inc | 8 +- > tcg/aarch64/tcg-target.c.inc | 14 +- > tcg/arm/tcg-target.c.inc | 19 +- > tcg/i386/tcg-target.c.inc | 291 ++++++++++++++++++----------- > tcg/ppc/tcg-target.c.inc | 149 ++++++++++----- > tcg/riscv/tcg-target.c.inc | 49 ++++- > tcg/s390x/tcg-target.c.inc | 78 +++++--- > tcg/sparc64/tcg-target.c.inc | 40 +++- > 55 files changed, 832 insertions(+), 433 deletions(-) ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2 00/48] tcg patch queue 2023-08-24 18:28 [PATCH v2 00/48] tcg patch queue Richard Henderson 2023-08-24 18:54 ` [PULL " Richard Henderson @ 2023-08-28 21:14 ` Stefan Hajnoczi 2023-08-28 22:52 ` Stefan Hajnoczi 2 siblings, 0 replies; 6+ messages in thread From: Stefan Hajnoczi @ 2023-08-28 21:14 UTC (permalink / raw) To: Richard Henderson; +Cc: qemu-devel [-- Attachment #1: Type: text/plain, Size: 115 bytes --] Applied, thanks. Please update the changelog at https://wiki.qemu.org/ChangeLog/8.2 for any user-visible changes. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2 00/48] tcg patch queue 2023-08-24 18:28 [PATCH v2 00/48] tcg patch queue Richard Henderson 2023-08-24 18:54 ` [PULL " Richard Henderson 2023-08-28 21:14 ` [PATCH " Stefan Hajnoczi @ 2023-08-28 22:52 ` Stefan Hajnoczi 2023-08-29 6:17 ` Bastian Koppelmann 2 siblings, 1 reply; 6+ messages in thread From: Stefan Hajnoczi @ 2023-08-28 22:52 UTC (permalink / raw) To: Richard Henderson; +Cc: qemu-devel, Bastian Koppelmann On Thu, 24 Aug 2023 at 14:29, Richard Henderson <richard.henderson@linaro.org> wrote: > > The following changes since commit 50e7a40af372ee5931c99ef7390f5d3d6fbf6ec4: > > Merge tag 'pull-target-arm-20230824' of https://git.linaro.org/people/pmaydell/qemu-arm into staging (2023-08-24 10:08:33 -0400) > > are available in the Git repository at: > > https://gitlab.com/rth7680/qemu.git tags/pull-tcg-20230823-2 > > for you to fetch changes up to 4daad8d9d6b9d426beb8ce505d2164ba36ea3168: > > tcg: spelling fixes (2023-08-24 11:22:42 -0700) > > ---------------------------------------------------------------- > accel/*: Widen pc/saved_insn for *_sw_breakpoint > accel/tcg: Replace remaining target_ulong in system-mode accel > tcg: spelling fixes > tcg: Document bswap, hswap, wswap byte patterns > tcg: Introduce negsetcond opcodes > tcg: Fold deposit with zero to and > tcg: Unify TCG_TARGET_HAS_extr[lh]_i64_i32 > tcg/i386: Drop BYTEH deposits for 64-bit > tcg/i386: Allow immediate as input to deposit > target/*: Use tcg_gen_negsetcond_* Hi Richard, I'm seeing a segfault in "make docker-test-tcg@debian-tricore-cross" after this pull request. Note that it has already been merged into qemu.git/master. CI actually caught it but I accidentally pushed staging to master. Stefan > > ---------------------------------------------------------------- > Anton Johansson (9): > accel/kvm: Widen pc/saved_insn for kvm_sw_breakpoint > accel/hvf: Widen pc/saved_insn for hvf_sw_breakpoint > sysemu/kvm: Use vaddr for kvm_arch_[insert|remove]_hw_breakpoint > sysemu/hvf: Use vaddr for hvf_arch_[insert|remove]_hw_breakpoint > include/exec: Replace target_ulong with abi_ptr in cpu_[st|ld]*() > include/exec: typedef abi_ptr to vaddr in softmmu > include/exec: Widen tlb_hit/tlb_hit_page() > accel/tcg: Widen address arg in tlb_compare_set() > accel/tcg: Update run_on_cpu_data static assert > > Mark Cave-Ayland (1): > docs/devel/tcg-ops: fix missing newlines in "Host vector operations" > > Michael Tokarev (1): > tcg: spelling fixes > > Philippe Mathieu-Daudé (9): > docs/devel/tcg-ops: Bury mentions of trunc_shr_i64_i32() > tcg/tcg-op: Document bswap16_i32() byte pattern > tcg/tcg-op: Document bswap16_i64() byte pattern > tcg/tcg-op: Document bswap32_i32() byte pattern > tcg/tcg-op: Document bswap32_i64() byte pattern > tcg/tcg-op: Document bswap64_i64() byte pattern > tcg/tcg-op: Document hswap_i32/64() byte pattern > tcg/tcg-op: Document wswap_i64() byte pattern > target/cris: Fix a typo in gen_swapr() > > Richard Henderson (28): > target/m68k: Use tcg_gen_deposit_i32 in gen_partset_reg > tcg/i386: Drop BYTEH deposits for 64-bit > tcg: Fold deposit with zero to and > tcg/i386: Allow immediate as input to deposit_* > tcg: Unify TCG_TARGET_HAS_extr[lh]_i64_i32 > tcg: Introduce negsetcond opcodes > tcg: Use tcg_gen_negsetcond_* > target/alpha: Use tcg_gen_movcond_i64 in gen_fold_mzero > target/arm: Use tcg_gen_negsetcond_* > target/m68k: Use tcg_gen_negsetcond_* > target/openrisc: Use tcg_gen_negsetcond_* > target/ppc: Use tcg_gen_negsetcond_* > target/sparc: Use tcg_gen_movcond_i64 in gen_edge > target/tricore: Replace gen_cond_w with tcg_gen_negsetcond_tl > tcg/ppc: Implement negsetcond_* > tcg/ppc: Use the Set Boolean Extension > tcg/aarch64: Implement negsetcond_* > tcg/arm: Implement negsetcond_i32 > tcg/riscv: Implement negsetcond_* > tcg/s390x: Implement negsetcond_* > tcg/sparc64: Implement negsetcond_* > tcg/i386: Merge tcg_out_brcond{32,64} > tcg/i386: Merge tcg_out_setcond{32,64} > tcg/i386: Merge tcg_out_movcond{32,64} > tcg/i386: Use CMP+SBB in tcg_out_setcond > tcg/i386: Clear dest first in tcg_out_setcond if possible > tcg/i386: Use shift in tcg_out_setcond > tcg/i386: Implement negsetcond_* > > docs/devel/tcg-ops.rst | 15 +- > accel/tcg/atomic_template.h | 16 +- > include/exec/cpu-all.h | 4 +- > include/exec/cpu_ldst.h | 28 +-- > include/sysemu/hvf.h | 12 +- > include/sysemu/kvm.h | 12 +- > include/tcg/tcg-op-common.h | 4 + > include/tcg/tcg-op.h | 2 + > include/tcg/tcg-opc.h | 6 +- > include/tcg/tcg.h | 4 +- > tcg/aarch64/tcg-target.h | 5 +- > tcg/arm/tcg-target.h | 1 + > tcg/i386/tcg-target-con-set.h | 2 +- > tcg/i386/tcg-target-con-str.h | 1 - > tcg/i386/tcg-target.h | 9 +- > tcg/loongarch64/tcg-target.h | 6 +- > tcg/mips/tcg-target.h | 5 +- > tcg/ppc/tcg-target.h | 5 +- > tcg/riscv/tcg-target.h | 5 +- > tcg/s390x/tcg-target.h | 5 +- > tcg/sparc64/tcg-target.h | 5 +- > tcg/tci/tcg-target.h | 5 +- > accel/hvf/hvf-accel-ops.c | 4 +- > accel/hvf/hvf-all.c | 2 +- > accel/kvm/kvm-all.c | 3 +- > accel/tcg/cputlb.c | 17 +- > target/alpha/translate.c | 7 +- > target/arm/hvf/hvf.c | 4 +- > target/arm/kvm64.c | 6 +- > target/arm/tcg/translate-a64.c | 22 +-- > target/arm/tcg/translate.c | 12 +- > target/cris/translate.c | 20 +- > target/i386/hvf/hvf.c | 4 +- > target/i386/kvm/kvm.c | 8 +- > target/m68k/translate.c | 35 ++-- > target/openrisc/translate.c | 6 +- > target/ppc/kvm.c | 13 +- > target/riscv/vector_helper.c | 2 +- > target/rx/op_helper.c | 6 +- > target/s390x/kvm/kvm.c | 6 +- > target/sparc/translate.c | 17 +- > target/tricore/translate.c | 16 +- > tcg/optimize.c | 78 +++++++- > tcg/tcg-op-gvec.c | 6 +- > tcg/tcg-op.c | 151 ++++++++++++--- > tcg/tcg.c | 9 +- > target/ppc/translate/fixedpoint-impl.c.inc | 6 +- > target/ppc/translate/vmx-impl.c.inc | 8 +- > tcg/aarch64/tcg-target.c.inc | 14 +- > tcg/arm/tcg-target.c.inc | 19 +- > tcg/i386/tcg-target.c.inc | 291 ++++++++++++++++++----------- > tcg/ppc/tcg-target.c.inc | 149 ++++++++++----- > tcg/riscv/tcg-target.c.inc | 49 ++++- > tcg/s390x/tcg-target.c.inc | 78 +++++--- > tcg/sparc64/tcg-target.c.inc | 40 +++- > 55 files changed, 832 insertions(+), 433 deletions(-) > ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2 00/48] tcg patch queue 2023-08-28 22:52 ` Stefan Hajnoczi @ 2023-08-29 6:17 ` Bastian Koppelmann 2023-08-29 18:26 ` Richard Henderson 0 siblings, 1 reply; 6+ messages in thread From: Bastian Koppelmann @ 2023-08-29 6:17 UTC (permalink / raw) To: Stefan Hajnoczi; +Cc: Richard Henderson, qemu-devel On Mon, Aug 28, 2023 at 06:52:42PM -0400, Stefan Hajnoczi wrote: > On Thu, 24 Aug 2023 at 14:29, Richard Henderson > <richard.henderson@linaro.org> wrote: > > > > The following changes since commit 50e7a40af372ee5931c99ef7390f5d3d6fbf6ec4: > > > > Merge tag 'pull-target-arm-20230824' of https://git.linaro.org/people/pmaydell/qemu-arm into staging (2023-08-24 10:08:33 -0400) > > > > are available in the Git repository at: > > > > https://gitlab.com/rth7680/qemu.git tags/pull-tcg-20230823-2 > > > > for you to fetch changes up to 4daad8d9d6b9d426beb8ce505d2164ba36ea3168: > > > > tcg: spelling fixes (2023-08-24 11:22:42 -0700) > > > > ---------------------------------------------------------------- > > accel/*: Widen pc/saved_insn for *_sw_breakpoint > > accel/tcg: Replace remaining target_ulong in system-mode accel > > tcg: spelling fixes > > tcg: Document bswap, hswap, wswap byte patterns > > tcg: Introduce negsetcond opcodes > > tcg: Fold deposit with zero to and > > tcg: Unify TCG_TARGET_HAS_extr[lh]_i64_i32 > > tcg/i386: Drop BYTEH deposits for 64-bit > > tcg/i386: Allow immediate as input to deposit > > target/*: Use tcg_gen_negsetcond_* > > Hi Richard, > I'm seeing a segfault in "make docker-test-tcg@debian-tricore-cross" > after this pull request. git bisect points to: commit fc15bfb6a6bda8d4d01f1383579d385acae17c0f Author: Anton Johansson <anjo@rev.ng> Date: Mon Aug 7 17:57:03 2023 +0200 include/exec: typedef abi_ptr to vaddr in softmmu In system mode, abi_ptr is primarily used for representing addresses when accessing guest memory with cpu_[st|ld]*(). Widening it from target_ulong to vaddr reduces the target dependence of these functions and is step towards building accel/ once for system mode. Signed-off-by: Anton Johansson <anjo@rev.ng> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20230807155706.9580-7-anjo@rev.ng> Signed-off-by: Richard Henderson <richard.henderson@linaro.org> diff --git a/include/exec/cpu_ldst.h b/include/exec/cpu_ldst.h index da10ba1433..f3ce4eb1d0 100644 --- a/include/exec/cpu_ldst.h +++ b/include/exec/cpu_ldst.h @@ -121,8 +121,8 @@ static inline bool guest_range_valid_untagged(abi_ulong start, abi_ulong len) h2g_nocheck(x); \ }) #else -typedef target_ulong abi_ptr; -#define TARGET_ABI_FMT_ptr TARGET_FMT_lx +typedef vaddr abi_ptr; +#define TARGET_ABI_FMT_ptr "%016" VADDR_PRIx #endif Changeing typedef vaddr abi_ptr back to target_ulong fixes it. The faulting TriCore insn is OPC1_32_BOL_ST_W_LONGOFF, that tries to write to guest addr 0xd0000124, which is in a valid memory region. Cheers, Bastian ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v2 00/48] tcg patch queue 2023-08-29 6:17 ` Bastian Koppelmann @ 2023-08-29 18:26 ` Richard Henderson 0 siblings, 0 replies; 6+ messages in thread From: Richard Henderson @ 2023-08-29 18:26 UTC (permalink / raw) To: Bastian Koppelmann, Stefan Hajnoczi, anjo@rev.ng; +Cc: qemu-devel On 8/28/23 23:17, Bastian Koppelmann wrote: >> I'm seeing a segfault in "make docker-test-tcg@debian-tricore-cross" >> after this pull request. > > git bisect points to: > > commit fc15bfb6a6bda8d4d01f1383579d385acae17c0f > Author: Anton Johansson <anjo@rev.ng> > Date: Mon Aug 7 17:57:03 2023 +0200 > > include/exec: typedef abi_ptr to vaddr in softmmu > > In system mode, abi_ptr is primarily used for representing addresses > when accessing guest memory with cpu_[st|ld]*(). Widening it from > target_ulong to vaddr reduces the target dependence of these functions > and is step towards building accel/ once for system mode. > > Signed-off-by: Anton Johansson <anjo@rev.ng> > Reviewed-by: Richard Henderson <richard.henderson@linaro.org> > Message-Id: <20230807155706.9580-7-anjo@rev.ng> > Signed-off-by: Richard Henderson <richard.henderson@linaro.org> > > diff --git a/include/exec/cpu_ldst.h b/include/exec/cpu_ldst.h > index da10ba1433..f3ce4eb1d0 100644 > --- a/include/exec/cpu_ldst.h > +++ b/include/exec/cpu_ldst.h > @@ -121,8 +121,8 @@ static inline bool guest_range_valid_untagged(abi_ulong start, abi_ulong len) > h2g_nocheck(x); \ > }) > #else > -typedef target_ulong abi_ptr; > -#define TARGET_ABI_FMT_ptr TARGET_FMT_lx > +typedef vaddr abi_ptr; > +#define TARGET_ABI_FMT_ptr "%016" VADDR_PRIx > #endif > > > Changeing typedef vaddr abi_ptr back to target_ulong fixes it. > > The faulting TriCore insn is OPC1_32_BOL_ST_W_LONGOFF, that tries to write to > guest addr 0xd0000124, which is in a valid memory region. Right. The traceback is #6 0x000055555582c511 in mmu_lookup (env=0x555555e98ee0, addr=18446744072904253376, oi=32, ra=0, type=MMU_DATA_STORE, l=0x7ffff1888cc0) at ../src/accel/tcg/cputlb.c:1828 #7 0x000055555582f531 in do_st4_mmu (env=0x555555e98ee0, addr=18446744072904253376, val=0, oi=32, ra=0) at ../src/accel/tcg/cputlb.c:2991 #8 0x000055555582fe59 in cpu_stl_mmu (env=0x555555e98ee0, addr=18446744072904253376, val=0, oi=32, retaddr=0) at ../src/accel/tcg/cputlb.c:3138 #9 0x000055555583041d in cpu_stl_le_mmuidx_ra (env=0x555555e98ee0, addr=18446744072904253376, val=0, mmu_idx=0, ra=0) at ../src/accel/tcg/ldst_common.c.inc:118 #10 0x00005555558308b5 in cpu_stl_le_data_ra (env=0x555555e98ee0, addr=18446744072904253376, val=0, ra=0) at ../src/accel/tcg/ldst_common.c.inc:213 #11 0x0000555555830bf2 in cpu_stl_le_data (env=0x555555e98ee0, addr=18446744072904253376, val=0) at ../src/accel/tcg/ldst_common.c.inc:301 #12 0x00005555557a2ce2 in save_context_upper (env=0x555555e98ee0, ea=-805298240) at ../src/target/tricore/op_helper.c:2400 #13 0x00005555557a35ee in helper_call (env=0x555555e98ee0, next_pc=2147484092) at ../src/target/tricore/op_helper.c:2519 With void save_context_upper(CPUTriCoreState *env, int ea) providing the signed address variable, which gets extended to 64-bits with the change to abi_ptr instead of converted to unsigned 32-bits in cpu_stl_le_data. For the short-term, let's revert this patch. r~ ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2023-08-29 23:23 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-08-24 18:28 [PATCH v2 00/48] tcg patch queue Richard Henderson 2023-08-24 18:54 ` [PULL " Richard Henderson 2023-08-28 21:14 ` [PATCH " Stefan Hajnoczi 2023-08-28 22:52 ` Stefan Hajnoczi 2023-08-29 6:17 ` Bastian Koppelmann 2023-08-29 18:26 ` 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).