Hi,
the main motivator for this series was
https://gitlab.com/qemu-project/qemu/-/issues/1453. To test that I'm not
screwing up this refactor I also extended the tests by C programs so we can test
the PCXI/ICR registers by recursive function call. Through these tests I also
found a problem, where we were not correctly updating PSW when we did a context
save.
Cheers,
Bastian
v1 -> v2:
- Created icr_ie_mask for DisasCtx to simplify SYS_ENABLE and SYS_DISABLE
insns translation.
Bastian Koppelmann (6):
tests/tcg/tricore: Move asm tests into 'asm' directory
tests/tcg/tricore: Uses label for memory addresses
tests/tcg/tricore: Add first C program
target/tricore: Refactor PCXI/ICR register fields
target/tricore: Fix wrong PSW for call insns
tests/tcg/tricore: Add recursion test for CSAs
configure | 1 +
target/tricore/cpu.h | 39 +-
target/tricore/helper.c | 45 +++
target/tricore/op_helper.c | 87 ++---
target/tricore/translate.c | 10 +-
tests/tcg/tricore/Makefile.softmmu-target | 49 ++-
tests/tcg/tricore/{ => asm}/macros.h | 1 -
tests/tcg/tricore/{ => asm}/test_abs.S | 0
tests/tcg/tricore/{ => asm}/test_bmerge.S | 0
tests/tcg/tricore/{ => asm}/test_clz.S | 0
tests/tcg/tricore/{ => asm}/test_dextr.S | 0
tests/tcg/tricore/{ => asm}/test_dvstep.S | 0
tests/tcg/tricore/{ => asm}/test_fadd.S | 0
tests/tcg/tricore/{ => asm}/test_fmul.S | 0
tests/tcg/tricore/{ => asm}/test_ftoi.S | 0
tests/tcg/tricore/{ => asm}/test_imask.S | 0
tests/tcg/tricore/{ => asm}/test_insert.S | 0
tests/tcg/tricore/{ => asm}/test_ld_bu.S | 4 +-
tests/tcg/tricore/asm/test_ld_h.S | 15 +
tests/tcg/tricore/{ => asm}/test_madd.S | 0
tests/tcg/tricore/{ => asm}/test_msub.S | 0
tests/tcg/tricore/{ => asm}/test_muls.S | 0
tests/tcg/tricore/c/crt0-tc2x.S | 335 ++++++++++++++++++
tests/tcg/tricore/c/test_boot_to_main.c | 13 +
tests/tcg/tricore/c/test_context_save_areas.c | 15 +
tests/tcg/tricore/c/testdev_assert.h | 18 +
tests/tcg/tricore/link.ld | 16 +
tests/tcg/tricore/test_ld_h.S | 15 -
28 files changed, 572 insertions(+), 91 deletions(-)
rename tests/tcg/tricore/{ => asm}/macros.h (99%)
rename tests/tcg/tricore/{ => asm}/test_abs.S (100%)
rename tests/tcg/tricore/{ => asm}/test_bmerge.S (100%)
rename tests/tcg/tricore/{ => asm}/test_clz.S (100%)
rename tests/tcg/tricore/{ => asm}/test_dextr.S (100%)
rename tests/tcg/tricore/{ => asm}/test_dvstep.S (100%)
rename tests/tcg/tricore/{ => asm}/test_fadd.S (100%)
rename tests/tcg/tricore/{ => asm}/test_fmul.S (100%)
rename tests/tcg/tricore/{ => asm}/test_ftoi.S (100%)
rename tests/tcg/tricore/{ => asm}/test_imask.S (100%)
rename tests/tcg/tricore/{ => asm}/test_insert.S (100%)
rename tests/tcg/tricore/{ => asm}/test_ld_bu.S (68%)
create mode 100644 tests/tcg/tricore/asm/test_ld_h.S
rename tests/tcg/tricore/{ => asm}/test_madd.S (100%)
rename tests/tcg/tricore/{ => asm}/test_msub.S (100%)
rename tests/tcg/tricore/{ => asm}/test_muls.S (100%)
create mode 100644 tests/tcg/tricore/c/crt0-tc2x.S
create mode 100644 tests/tcg/tricore/c/test_boot_to_main.c
create mode 100644 tests/tcg/tricore/c/test_context_save_areas.c
create mode 100644 tests/tcg/tricore/c/testdev_assert.h
delete mode 100644 tests/tcg/tricore/test_ld_h.S
--
2.40.1