[Qemu-devel] [PULL 00/26] final testing updates for 4.0

Alex Bennée posted 26 patches 6 years, 8 months ago
Only 10 patches received!
.travis.yml                                        |  30 ++-
Makefile                                           |   3 +-
Makefile.target                                    |   2 -
tests/Makefile.include                             |   9 +-
tests/docker/Makefile.include                      |   1 +
.../docker/dockerfiles/debian-xtensa-cross.docker  |  31 +++
tests/docker/dockerfiles/fedora-cris-cross.docker  |   8 +
tests/tcg/Makefile                                 |  41 +++-
tests/tcg/Makefile.include                         |   2 +-
tests/tcg/aarch64/pauth-1.c                        |  26 ++-
tests/tcg/arm/Makefile.softmmu-target              |  29 +++
tests/tcg/arm/test-armv6m-undef.S                  | 154 +++++++++++++
tests/tcg/arm/test-armv6m-undef.ld                 |  21 ++
tests/tcg/cris/Makefile                            | 168 --------------
tests/tcg/cris/Makefile.include                    |   6 +
tests/tcg/cris/Makefile.target                     |  58 +++++
tests/tcg/cris/{ => bare}/check_addcv17.s          |   0
tests/tcg/cris/{ => bare}/check_addi.s             |   0
tests/tcg/cris/{ => bare}/check_addiv32.s          |   0
tests/tcg/cris/{ => bare}/check_addm.s             |   0
tests/tcg/cris/{ => bare}/check_addq.s             |   0
tests/tcg/cris/{ => bare}/check_addr.s             |   0
tests/tcg/cris/{ => bare}/check_addxc.s            |   0
tests/tcg/cris/{ => bare}/check_addxm.s            |   0
tests/tcg/cris/{ => bare}/check_addxr.s            |   0
tests/tcg/cris/{ => bare}/check_andc.s             |   0
tests/tcg/cris/{ => bare}/check_andm.s             |   0
tests/tcg/cris/{ => bare}/check_andq.s             |   0
tests/tcg/cris/{ => bare}/check_andr.s             |   0
tests/tcg/cris/{ => bare}/check_asr.s              |   0
tests/tcg/cris/{ => bare}/check_ba.s               |   0
tests/tcg/cris/{ => bare}/check_bas.s              |   0
tests/tcg/cris/{ => bare}/check_bcc.s              |   0
tests/tcg/cris/{ => bare}/check_boundc.s           |   0
tests/tcg/cris/{ => bare}/check_boundr.s           |   0
tests/tcg/cris/{ => bare}/check_btst.s             |  14 +-
tests/tcg/cris/{ => bare}/check_clearfv32.s        |   0
tests/tcg/cris/{ => bare}/check_clrjmp1.s          |   0
tests/tcg/cris/{ => bare}/check_cmp-2.s            |   0
tests/tcg/cris/{ => bare}/check_cmpc.s             |   0
tests/tcg/cris/{ => bare}/check_cmpm.s             |   0
tests/tcg/cris/{ => bare}/check_cmpq.s             |   0
tests/tcg/cris/{ => bare}/check_cmpr.s             |   0
tests/tcg/cris/{ => bare}/check_cmpxc.s            |   0
tests/tcg/cris/{ => bare}/check_cmpxm.s            |   0
tests/tcg/cris/{ => bare}/check_dstep.s            |   0
tests/tcg/cris/{ => bare}/check_jsr.s              |   0
tests/tcg/cris/{ => bare}/check_lapc.s             |   0
tests/tcg/cris/{ => bare}/check_lsl.s              |   0
tests/tcg/cris/{ => bare}/check_lsr.s              |   0
tests/tcg/cris/{ => bare}/check_mcp.s              |   0
tests/tcg/cris/{ => bare}/check_movdelsr1.s        |   0
tests/tcg/cris/{ => bare}/check_movecr.s           |   0
tests/tcg/cris/{ => bare}/check_movei.s            |   0
tests/tcg/cris/{ => bare}/check_movemr.s           |   0
tests/tcg/cris/{ => bare}/check_movemrv32.s        |   0
tests/tcg/cris/{ => bare}/check_mover.s            |   0
tests/tcg/cris/{ => bare}/check_moverm.s           |   0
tests/tcg/cris/{ => bare}/check_movmp.s            |   0
tests/tcg/cris/{ => bare}/check_movpmv32.s         |   0
tests/tcg/cris/{ => bare}/check_movpr.s            |   0
tests/tcg/cris/{ => bare}/check_movprv32.s         |   0
tests/tcg/cris/{ => bare}/check_movscr.s           |   0
tests/tcg/cris/{ => bare}/check_movsm.s            |   0
tests/tcg/cris/{ => bare}/check_movsr.s            |   0
tests/tcg/cris/{ => bare}/check_movucr.s           |   0
tests/tcg/cris/{ => bare}/check_movum.s            |   0
tests/tcg/cris/{ => bare}/check_movur.s            |   0
tests/tcg/cris/{ => bare}/check_mulv32.s           |   0
tests/tcg/cris/{ => bare}/check_mulx.s             |  11 +
tests/tcg/cris/{ => bare}/check_neg.s              |   0
tests/tcg/cris/{ => bare}/check_not.s              |   0
tests/tcg/cris/{ => bare}/check_orc.s              |   0
tests/tcg/cris/{ => bare}/check_orm.s              |   0
tests/tcg/cris/{ => bare}/check_orq.s              |   0
tests/tcg/cris/{ => bare}/check_orr.s              |   0
tests/tcg/cris/{ => bare}/check_ret.s              |   0
tests/tcg/cris/{ => bare}/check_scc.s              |   0
tests/tcg/cris/{ => bare}/check_subc.s             |   0
tests/tcg/cris/{ => bare}/check_subm.s             |   0
tests/tcg/cris/{ => bare}/check_subq.s             |   0
tests/tcg/cris/{ => bare}/check_subr.s             |   0
tests/tcg/cris/{ => bare}/check_xarith.s           |   0
tests/tcg/cris/{ => bare}/crt.s                    |   0
tests/tcg/cris/bare/sys.c                          |  63 ++++++
tests/tcg/cris/{ => bare}/testutils.inc            |   0
tests/tcg/cris/{ => libc}/check_abs.c              |   0
tests/tcg/cris/{ => libc}/check_addc.c             |   0
tests/tcg/cris/{ => libc}/check_addcm.c            |   0
tests/tcg/cris/{ => libc}/check_addo.c             |   0
tests/tcg/cris/{ => libc}/check_addoq.c            |   0
tests/tcg/cris/{ => libc}/check_bound.c            |   0
tests/tcg/cris/{ => libc}/check_ftag.c             |   0
.../cris/{ => libc}/check_gcctorture_pr28634-1.c   |   0
.../tcg/cris/{ => libc}/check_gcctorture_pr28634.c |   0
.../cris/{ => libc}/check_glibc_kernelversion.c    |   0
tests/tcg/cris/{ => libc}/check_hello.c            |   0
tests/tcg/cris/{ => libc}/check_int64.c            |   0
tests/tcg/cris/{ => libc}/check_lz.c               |   0
tests/tcg/cris/{ => libc}/check_mapbrk.c           |   0
tests/tcg/cris/{ => libc}/check_mmap1.c            |   0
tests/tcg/cris/{ => libc}/check_mmap2.c            |   0
tests/tcg/cris/{ => libc}/check_mmap3.c            |   0
tests/tcg/cris/{ => libc}/check_moveq.c            |   0
tests/tcg/cris/{ => libc}/check_openpf1.c          |   0
tests/tcg/cris/{ => libc}/check_openpf2.c          |   0
tests/tcg/cris/{ => libc}/check_openpf3.c          |   0
tests/tcg/cris/{ => libc}/check_openpf5.c          |   0
tests/tcg/cris/{ => libc}/check_settls1.c          |   0
tests/tcg/cris/{ => libc}/check_sigalrm.c          |   0
tests/tcg/cris/{ => libc}/check_stat1.c            |   0
tests/tcg/cris/{ => libc}/check_stat2.c            |   0
tests/tcg/cris/{ => libc}/check_stat3.c            |   0
tests/tcg/cris/{ => libc}/check_stat4.c            |   0
tests/tcg/cris/{ => libc}/check_swap.c             |   0
tests/tcg/cris/{ => libc}/check_time2.c            |   0
tests/tcg/cris/{ => libc}/crisutils.h              |   0
tests/tcg/cris/{ => libc}/sys.h                    |   0
tests/tcg/cris/sys.c                               |  59 -----
tests/tcg/i386/Makefile.softmmu-target             |  46 ++++
tests/tcg/i386/system/boot.S                       | 172 +++++++++++++++
tests/tcg/i386/system/hello.c                      |  14 ++
tests/tcg/i386/system/kernel.ld                    |  23 ++
tests/tcg/i386/system/memory.c                     | 243 +++++++++++++++++++++
tests/tcg/minilib/Makefile.target                  |  21 ++
tests/tcg/minilib/minilib.h                        |  25 +++
tests/tcg/minilib/printf.c                         | 133 +++++++++++
tests/tcg/mips/Makefile.target                     |  11 +-
tests/tcg/mips/hello-mips.c                        |   2 +-
tests/tcg/xtensa/Makefile                          | 102 ---------
tests/tcg/xtensa/Makefile.include                  |  11 +
tests/tcg/xtensa/Makefile.softmmu-target           |  42 ++++
132 files changed, 1213 insertions(+), 368 deletions(-)
create mode 100644 tests/docker/dockerfiles/debian-xtensa-cross.docker
create mode 100644 tests/docker/dockerfiles/fedora-cris-cross.docker
create mode 100644 tests/tcg/arm/Makefile.softmmu-target
create mode 100644 tests/tcg/arm/test-armv6m-undef.S
create mode 100644 tests/tcg/arm/test-armv6m-undef.ld
delete mode 100644 tests/tcg/cris/Makefile
create mode 100644 tests/tcg/cris/Makefile.include
create mode 100644 tests/tcg/cris/Makefile.target
rename tests/tcg/cris/{ => bare}/check_addcv17.s (100%)
rename tests/tcg/cris/{ => bare}/check_addi.s (100%)
rename tests/tcg/cris/{ => bare}/check_addiv32.s (100%)
rename tests/tcg/cris/{ => bare}/check_addm.s (100%)
rename tests/tcg/cris/{ => bare}/check_addq.s (100%)
rename tests/tcg/cris/{ => bare}/check_addr.s (100%)
rename tests/tcg/cris/{ => bare}/check_addxc.s (100%)
rename tests/tcg/cris/{ => bare}/check_addxm.s (100%)
rename tests/tcg/cris/{ => bare}/check_addxr.s (100%)
rename tests/tcg/cris/{ => bare}/check_andc.s (100%)
rename tests/tcg/cris/{ => bare}/check_andm.s (100%)
rename tests/tcg/cris/{ => bare}/check_andq.s (100%)
rename tests/tcg/cris/{ => bare}/check_andr.s (100%)
rename tests/tcg/cris/{ => bare}/check_asr.s (100%)
rename tests/tcg/cris/{ => bare}/check_ba.s (100%)
rename tests/tcg/cris/{ => bare}/check_bas.s (100%)
rename tests/tcg/cris/{ => bare}/check_bcc.s (100%)
rename tests/tcg/cris/{ => bare}/check_boundc.s (100%)
rename tests/tcg/cris/{ => bare}/check_boundr.s (100%)
rename tests/tcg/cris/{ => bare}/check_btst.s (89%)
rename tests/tcg/cris/{ => bare}/check_clearfv32.s (100%)
rename tests/tcg/cris/{ => bare}/check_clrjmp1.s (100%)
rename tests/tcg/cris/{ => bare}/check_cmp-2.s (100%)
rename tests/tcg/cris/{ => bare}/check_cmpc.s (100%)
rename tests/tcg/cris/{ => bare}/check_cmpm.s (100%)
rename tests/tcg/cris/{ => bare}/check_cmpq.s (100%)
rename tests/tcg/cris/{ => bare}/check_cmpr.s (100%)
rename tests/tcg/cris/{ => bare}/check_cmpxc.s (100%)
rename tests/tcg/cris/{ => bare}/check_cmpxm.s (100%)
rename tests/tcg/cris/{ => bare}/check_dstep.s (100%)
rename tests/tcg/cris/{ => bare}/check_jsr.s (100%)
rename tests/tcg/cris/{ => bare}/check_lapc.s (100%)
rename tests/tcg/cris/{ => bare}/check_lsl.s (100%)
rename tests/tcg/cris/{ => bare}/check_lsr.s (100%)
rename tests/tcg/cris/{ => bare}/check_mcp.s (100%)
rename tests/tcg/cris/{ => bare}/check_movdelsr1.s (100%)
rename tests/tcg/cris/{ => bare}/check_movecr.s (100%)
rename tests/tcg/cris/{ => bare}/check_movei.s (100%)
rename tests/tcg/cris/{ => bare}/check_movemr.s (100%)
rename tests/tcg/cris/{ => bare}/check_movemrv32.s (100%)
rename tests/tcg/cris/{ => bare}/check_mover.s (100%)
rename tests/tcg/cris/{ => bare}/check_moverm.s (100%)
rename tests/tcg/cris/{ => bare}/check_movmp.s (100%)
rename tests/tcg/cris/{ => bare}/check_movpmv32.s (100%)
rename tests/tcg/cris/{ => bare}/check_movpr.s (100%)
rename tests/tcg/cris/{ => bare}/check_movprv32.s (100%)
rename tests/tcg/cris/{ => bare}/check_movscr.s (100%)
rename tests/tcg/cris/{ => bare}/check_movsm.s (100%)
rename tests/tcg/cris/{ => bare}/check_movsr.s (100%)
rename tests/tcg/cris/{ => bare}/check_movucr.s (100%)
rename tests/tcg/cris/{ => bare}/check_movum.s (100%)
rename tests/tcg/cris/{ => bare}/check_movur.s (100%)
rename tests/tcg/cris/{ => bare}/check_mulv32.s (100%)
rename tests/tcg/cris/{ => bare}/check_mulx.s (98%)
rename tests/tcg/cris/{ => bare}/check_neg.s (100%)
rename tests/tcg/cris/{ => bare}/check_not.s (100%)
rename tests/tcg/cris/{ => bare}/check_orc.s (100%)
rename tests/tcg/cris/{ => bare}/check_orm.s (100%)
rename tests/tcg/cris/{ => bare}/check_orq.s (100%)
rename tests/tcg/cris/{ => bare}/check_orr.s (100%)
rename tests/tcg/cris/{ => bare}/check_ret.s (100%)
rename tests/tcg/cris/{ => bare}/check_scc.s (100%)
rename tests/tcg/cris/{ => bare}/check_subc.s (100%)
rename tests/tcg/cris/{ => bare}/check_subm.s (100%)
rename tests/tcg/cris/{ => bare}/check_subq.s (100%)
rename tests/tcg/cris/{ => bare}/check_subr.s (100%)
rename tests/tcg/cris/{ => bare}/check_xarith.s (100%)
rename tests/tcg/cris/{ => bare}/crt.s (100%)
create mode 100644 tests/tcg/cris/bare/sys.c
rename tests/tcg/cris/{ => bare}/testutils.inc (100%)
rename tests/tcg/cris/{ => libc}/check_abs.c (100%)
rename tests/tcg/cris/{ => libc}/check_addc.c (100%)
rename tests/tcg/cris/{ => libc}/check_addcm.c (100%)
rename tests/tcg/cris/{ => libc}/check_addo.c (100%)
rename tests/tcg/cris/{ => libc}/check_addoq.c (100%)
rename tests/tcg/cris/{ => libc}/check_bound.c (100%)
rename tests/tcg/cris/{ => libc}/check_ftag.c (100%)
rename tests/tcg/cris/{ => libc}/check_gcctorture_pr28634-1.c (100%)
rename tests/tcg/cris/{ => libc}/check_gcctorture_pr28634.c (100%)
rename tests/tcg/cris/{ => libc}/check_glibc_kernelversion.c (100%)
rename tests/tcg/cris/{ => libc}/check_hello.c (100%)
rename tests/tcg/cris/{ => libc}/check_int64.c (100%)
rename tests/tcg/cris/{ => libc}/check_lz.c (100%)
rename tests/tcg/cris/{ => libc}/check_mapbrk.c (100%)
rename tests/tcg/cris/{ => libc}/check_mmap1.c (100%)
rename tests/tcg/cris/{ => libc}/check_mmap2.c (100%)
rename tests/tcg/cris/{ => libc}/check_mmap3.c (100%)
rename tests/tcg/cris/{ => libc}/check_moveq.c (100%)
rename tests/tcg/cris/{ => libc}/check_openpf1.c (100%)
rename tests/tcg/cris/{ => libc}/check_openpf2.c (100%)
rename tests/tcg/cris/{ => libc}/check_openpf3.c (100%)
rename tests/tcg/cris/{ => libc}/check_openpf5.c (100%)
rename tests/tcg/cris/{ => libc}/check_settls1.c (100%)
rename tests/tcg/cris/{ => libc}/check_sigalrm.c (100%)
rename tests/tcg/cris/{ => libc}/check_stat1.c (100%)
rename tests/tcg/cris/{ => libc}/check_stat2.c (100%)
rename tests/tcg/cris/{ => libc}/check_stat3.c (100%)
rename tests/tcg/cris/{ => libc}/check_stat4.c (100%)
rename tests/tcg/cris/{ => libc}/check_swap.c (100%)
rename tests/tcg/cris/{ => libc}/check_time2.c (100%)
rename tests/tcg/cris/{ => libc}/crisutils.h (100%)
rename tests/tcg/cris/{ => libc}/sys.h (100%)
delete mode 100644 tests/tcg/cris/sys.c
create mode 100644 tests/tcg/i386/Makefile.softmmu-target
create mode 100644 tests/tcg/i386/system/boot.S
create mode 100644 tests/tcg/i386/system/hello.c
create mode 100644 tests/tcg/i386/system/kernel.ld
create mode 100644 tests/tcg/i386/system/memory.c
create mode 100644 tests/tcg/minilib/Makefile.target
create mode 100644 tests/tcg/minilib/minilib.h
create mode 100644 tests/tcg/minilib/printf.c
delete mode 100644 tests/tcg/xtensa/Makefile
create mode 100644 tests/tcg/xtensa/Makefile.include
create mode 100644 tests/tcg/xtensa/Makefile.softmmu-target
[Qemu-devel] [PULL 00/26] final testing updates for 4.0
Posted by Alex Bennée 6 years, 8 months ago
The following changes since commit 46316f1dfffc6be72e94e89f7b0e9162e7dcdcf1:

  Merge remote-tracking branch 'remotes/awilliam/tags/vfio-updates-20190311.0' into staging (2019-03-12 13:37:29 +0000)

are available in the Git repository at:

  https://github.com/stsquad/qemu.git tags/pull-testing-for-4.0-120319-1

for you to fetch changes up to dab3a7c0f54cedc542205fb6f29184b510dfe479:

  .travis.yml: add softmmu check-tcg tests (2019-03-12 17:05:21 +0000)

----------------------------------------------------------------
Final testing fixes for 4.0

  - various CI tweaks and fixes
  - fixes for some tcg tests
  - addition of system tcg tests

----------------------------------------------------------------
Alex Bennée (23):
      .travis.yml: combine docs and tools build with out-of-tree
      .travis.yml: reduce the module builds to major architectures
      Makefile: explicitly pass $(SRC_PATH) to gcovr
      Makefile: explicitly pass $(BUILD_DIR) to gcovr
      tests/tcg: add softmmu awareness to Makefile
      tests/tcg: enable tcg tests for softmmu
      tests/tcg: add QEMU_OPT option for test runner
      tests/tcg: split run-test into user and system variants
      tests/tcg: add gdb runner variant
      tests/tcg/mips: fix hello-mips compilation
      tests/tcg/xtensa: enable system tests
      tests/docker: add fedora-cris-cross compilers
      tests/tcg/cris: cleanup sys.c
      tests/tcg: split cris tests into bare and libc directories
      tests/tcg/cris: comment out the ccs test
      tests/tcg/cris: align mul operations
      tests/tcg: enable cris base user-mode tests
      tests/tcg: provide a minilib for system tests
      tests/tcg/i386: add system mode Hello World test
      tests/tcg/i386: add memory test to exercise softmmu
      tests/tcg/arm: account for pauth randomness
      .travis.yml: separate softfloat from check-tcg
      .travis.yml: add softmmu check-tcg tests

Philippe Mathieu-Daudé (2):
      travis: Bump Xcode 10 image to 10.2
      tests/docker: add debian-xtensa-cross image

Stefan Hajnoczi (1):
      tests/tcg/arm: add ARMv6-M UNDEFINED 32-bit instruction test

 .travis.yml                                        |  30 ++-
 Makefile                                           |   3 +-
 Makefile.target                                    |   2 -
 tests/Makefile.include                             |   9 +-
 tests/docker/Makefile.include                      |   1 +
 .../docker/dockerfiles/debian-xtensa-cross.docker  |  31 +++
 tests/docker/dockerfiles/fedora-cris-cross.docker  |   8 +
 tests/tcg/Makefile                                 |  41 +++-
 tests/tcg/Makefile.include                         |   2 +-
 tests/tcg/aarch64/pauth-1.c                        |  26 ++-
 tests/tcg/arm/Makefile.softmmu-target              |  29 +++
 tests/tcg/arm/test-armv6m-undef.S                  | 154 +++++++++++++
 tests/tcg/arm/test-armv6m-undef.ld                 |  21 ++
 tests/tcg/cris/Makefile                            | 168 --------------
 tests/tcg/cris/Makefile.include                    |   6 +
 tests/tcg/cris/Makefile.target                     |  58 +++++
 tests/tcg/cris/{ => bare}/check_addcv17.s          |   0
 tests/tcg/cris/{ => bare}/check_addi.s             |   0
 tests/tcg/cris/{ => bare}/check_addiv32.s          |   0
 tests/tcg/cris/{ => bare}/check_addm.s             |   0
 tests/tcg/cris/{ => bare}/check_addq.s             |   0
 tests/tcg/cris/{ => bare}/check_addr.s             |   0
 tests/tcg/cris/{ => bare}/check_addxc.s            |   0
 tests/tcg/cris/{ => bare}/check_addxm.s            |   0
 tests/tcg/cris/{ => bare}/check_addxr.s            |   0
 tests/tcg/cris/{ => bare}/check_andc.s             |   0
 tests/tcg/cris/{ => bare}/check_andm.s             |   0
 tests/tcg/cris/{ => bare}/check_andq.s             |   0
 tests/tcg/cris/{ => bare}/check_andr.s             |   0
 tests/tcg/cris/{ => bare}/check_asr.s              |   0
 tests/tcg/cris/{ => bare}/check_ba.s               |   0
 tests/tcg/cris/{ => bare}/check_bas.s              |   0
 tests/tcg/cris/{ => bare}/check_bcc.s              |   0
 tests/tcg/cris/{ => bare}/check_boundc.s           |   0
 tests/tcg/cris/{ => bare}/check_boundr.s           |   0
 tests/tcg/cris/{ => bare}/check_btst.s             |  14 +-
 tests/tcg/cris/{ => bare}/check_clearfv32.s        |   0
 tests/tcg/cris/{ => bare}/check_clrjmp1.s          |   0
 tests/tcg/cris/{ => bare}/check_cmp-2.s            |   0
 tests/tcg/cris/{ => bare}/check_cmpc.s             |   0
 tests/tcg/cris/{ => bare}/check_cmpm.s             |   0
 tests/tcg/cris/{ => bare}/check_cmpq.s             |   0
 tests/tcg/cris/{ => bare}/check_cmpr.s             |   0
 tests/tcg/cris/{ => bare}/check_cmpxc.s            |   0
 tests/tcg/cris/{ => bare}/check_cmpxm.s            |   0
 tests/tcg/cris/{ => bare}/check_dstep.s            |   0
 tests/tcg/cris/{ => bare}/check_jsr.s              |   0
 tests/tcg/cris/{ => bare}/check_lapc.s             |   0
 tests/tcg/cris/{ => bare}/check_lsl.s              |   0
 tests/tcg/cris/{ => bare}/check_lsr.s              |   0
 tests/tcg/cris/{ => bare}/check_mcp.s              |   0
 tests/tcg/cris/{ => bare}/check_movdelsr1.s        |   0
 tests/tcg/cris/{ => bare}/check_movecr.s           |   0
 tests/tcg/cris/{ => bare}/check_movei.s            |   0
 tests/tcg/cris/{ => bare}/check_movemr.s           |   0
 tests/tcg/cris/{ => bare}/check_movemrv32.s        |   0
 tests/tcg/cris/{ => bare}/check_mover.s            |   0
 tests/tcg/cris/{ => bare}/check_moverm.s           |   0
 tests/tcg/cris/{ => bare}/check_movmp.s            |   0
 tests/tcg/cris/{ => bare}/check_movpmv32.s         |   0
 tests/tcg/cris/{ => bare}/check_movpr.s            |   0
 tests/tcg/cris/{ => bare}/check_movprv32.s         |   0
 tests/tcg/cris/{ => bare}/check_movscr.s           |   0
 tests/tcg/cris/{ => bare}/check_movsm.s            |   0
 tests/tcg/cris/{ => bare}/check_movsr.s            |   0
 tests/tcg/cris/{ => bare}/check_movucr.s           |   0
 tests/tcg/cris/{ => bare}/check_movum.s            |   0
 tests/tcg/cris/{ => bare}/check_movur.s            |   0
 tests/tcg/cris/{ => bare}/check_mulv32.s           |   0
 tests/tcg/cris/{ => bare}/check_mulx.s             |  11 +
 tests/tcg/cris/{ => bare}/check_neg.s              |   0
 tests/tcg/cris/{ => bare}/check_not.s              |   0
 tests/tcg/cris/{ => bare}/check_orc.s              |   0
 tests/tcg/cris/{ => bare}/check_orm.s              |   0
 tests/tcg/cris/{ => bare}/check_orq.s              |   0
 tests/tcg/cris/{ => bare}/check_orr.s              |   0
 tests/tcg/cris/{ => bare}/check_ret.s              |   0
 tests/tcg/cris/{ => bare}/check_scc.s              |   0
 tests/tcg/cris/{ => bare}/check_subc.s             |   0
 tests/tcg/cris/{ => bare}/check_subm.s             |   0
 tests/tcg/cris/{ => bare}/check_subq.s             |   0
 tests/tcg/cris/{ => bare}/check_subr.s             |   0
 tests/tcg/cris/{ => bare}/check_xarith.s           |   0
 tests/tcg/cris/{ => bare}/crt.s                    |   0
 tests/tcg/cris/bare/sys.c                          |  63 ++++++
 tests/tcg/cris/{ => bare}/testutils.inc            |   0
 tests/tcg/cris/{ => libc}/check_abs.c              |   0
 tests/tcg/cris/{ => libc}/check_addc.c             |   0
 tests/tcg/cris/{ => libc}/check_addcm.c            |   0
 tests/tcg/cris/{ => libc}/check_addo.c             |   0
 tests/tcg/cris/{ => libc}/check_addoq.c            |   0
 tests/tcg/cris/{ => libc}/check_bound.c            |   0
 tests/tcg/cris/{ => libc}/check_ftag.c             |   0
 .../cris/{ => libc}/check_gcctorture_pr28634-1.c   |   0
 .../tcg/cris/{ => libc}/check_gcctorture_pr28634.c |   0
 .../cris/{ => libc}/check_glibc_kernelversion.c    |   0
 tests/tcg/cris/{ => libc}/check_hello.c            |   0
 tests/tcg/cris/{ => libc}/check_int64.c            |   0
 tests/tcg/cris/{ => libc}/check_lz.c               |   0
 tests/tcg/cris/{ => libc}/check_mapbrk.c           |   0
 tests/tcg/cris/{ => libc}/check_mmap1.c            |   0
 tests/tcg/cris/{ => libc}/check_mmap2.c            |   0
 tests/tcg/cris/{ => libc}/check_mmap3.c            |   0
 tests/tcg/cris/{ => libc}/check_moveq.c            |   0
 tests/tcg/cris/{ => libc}/check_openpf1.c          |   0
 tests/tcg/cris/{ => libc}/check_openpf2.c          |   0
 tests/tcg/cris/{ => libc}/check_openpf3.c          |   0
 tests/tcg/cris/{ => libc}/check_openpf5.c          |   0
 tests/tcg/cris/{ => libc}/check_settls1.c          |   0
 tests/tcg/cris/{ => libc}/check_sigalrm.c          |   0
 tests/tcg/cris/{ => libc}/check_stat1.c            |   0
 tests/tcg/cris/{ => libc}/check_stat2.c            |   0
 tests/tcg/cris/{ => libc}/check_stat3.c            |   0
 tests/tcg/cris/{ => libc}/check_stat4.c            |   0
 tests/tcg/cris/{ => libc}/check_swap.c             |   0
 tests/tcg/cris/{ => libc}/check_time2.c            |   0
 tests/tcg/cris/{ => libc}/crisutils.h              |   0
 tests/tcg/cris/{ => libc}/sys.h                    |   0
 tests/tcg/cris/sys.c                               |  59 -----
 tests/tcg/i386/Makefile.softmmu-target             |  46 ++++
 tests/tcg/i386/system/boot.S                       | 172 +++++++++++++++
 tests/tcg/i386/system/hello.c                      |  14 ++
 tests/tcg/i386/system/kernel.ld                    |  23 ++
 tests/tcg/i386/system/memory.c                     | 243 +++++++++++++++++++++
 tests/tcg/minilib/Makefile.target                  |  21 ++
 tests/tcg/minilib/minilib.h                        |  25 +++
 tests/tcg/minilib/printf.c                         | 133 +++++++++++
 tests/tcg/mips/Makefile.target                     |  11 +-
 tests/tcg/mips/hello-mips.c                        |   2 +-
 tests/tcg/xtensa/Makefile                          | 102 ---------
 tests/tcg/xtensa/Makefile.include                  |  11 +
 tests/tcg/xtensa/Makefile.softmmu-target           |  42 ++++
 132 files changed, 1213 insertions(+), 368 deletions(-)
 create mode 100644 tests/docker/dockerfiles/debian-xtensa-cross.docker
 create mode 100644 tests/docker/dockerfiles/fedora-cris-cross.docker
 create mode 100644 tests/tcg/arm/Makefile.softmmu-target
 create mode 100644 tests/tcg/arm/test-armv6m-undef.S
 create mode 100644 tests/tcg/arm/test-armv6m-undef.ld
 delete mode 100644 tests/tcg/cris/Makefile
 create mode 100644 tests/tcg/cris/Makefile.include
 create mode 100644 tests/tcg/cris/Makefile.target
 rename tests/tcg/cris/{ => bare}/check_addcv17.s (100%)
 rename tests/tcg/cris/{ => bare}/check_addi.s (100%)
 rename tests/tcg/cris/{ => bare}/check_addiv32.s (100%)
 rename tests/tcg/cris/{ => bare}/check_addm.s (100%)
 rename tests/tcg/cris/{ => bare}/check_addq.s (100%)
 rename tests/tcg/cris/{ => bare}/check_addr.s (100%)
 rename tests/tcg/cris/{ => bare}/check_addxc.s (100%)
 rename tests/tcg/cris/{ => bare}/check_addxm.s (100%)
 rename tests/tcg/cris/{ => bare}/check_addxr.s (100%)
 rename tests/tcg/cris/{ => bare}/check_andc.s (100%)
 rename tests/tcg/cris/{ => bare}/check_andm.s (100%)
 rename tests/tcg/cris/{ => bare}/check_andq.s (100%)
 rename tests/tcg/cris/{ => bare}/check_andr.s (100%)
 rename tests/tcg/cris/{ => bare}/check_asr.s (100%)
 rename tests/tcg/cris/{ => bare}/check_ba.s (100%)
 rename tests/tcg/cris/{ => bare}/check_bas.s (100%)
 rename tests/tcg/cris/{ => bare}/check_bcc.s (100%)
 rename tests/tcg/cris/{ => bare}/check_boundc.s (100%)
 rename tests/tcg/cris/{ => bare}/check_boundr.s (100%)
 rename tests/tcg/cris/{ => bare}/check_btst.s (89%)
 rename tests/tcg/cris/{ => bare}/check_clearfv32.s (100%)
 rename tests/tcg/cris/{ => bare}/check_clrjmp1.s (100%)
 rename tests/tcg/cris/{ => bare}/check_cmp-2.s (100%)
 rename tests/tcg/cris/{ => bare}/check_cmpc.s (100%)
 rename tests/tcg/cris/{ => bare}/check_cmpm.s (100%)
 rename tests/tcg/cris/{ => bare}/check_cmpq.s (100%)
 rename tests/tcg/cris/{ => bare}/check_cmpr.s (100%)
 rename tests/tcg/cris/{ => bare}/check_cmpxc.s (100%)
 rename tests/tcg/cris/{ => bare}/check_cmpxm.s (100%)
 rename tests/tcg/cris/{ => bare}/check_dstep.s (100%)
 rename tests/tcg/cris/{ => bare}/check_jsr.s (100%)
 rename tests/tcg/cris/{ => bare}/check_lapc.s (100%)
 rename tests/tcg/cris/{ => bare}/check_lsl.s (100%)
 rename tests/tcg/cris/{ => bare}/check_lsr.s (100%)
 rename tests/tcg/cris/{ => bare}/check_mcp.s (100%)
 rename tests/tcg/cris/{ => bare}/check_movdelsr1.s (100%)
 rename tests/tcg/cris/{ => bare}/check_movecr.s (100%)
 rename tests/tcg/cris/{ => bare}/check_movei.s (100%)
 rename tests/tcg/cris/{ => bare}/check_movemr.s (100%)
 rename tests/tcg/cris/{ => bare}/check_movemrv32.s (100%)
 rename tests/tcg/cris/{ => bare}/check_mover.s (100%)
 rename tests/tcg/cris/{ => bare}/check_moverm.s (100%)
 rename tests/tcg/cris/{ => bare}/check_movmp.s (100%)
 rename tests/tcg/cris/{ => bare}/check_movpmv32.s (100%)
 rename tests/tcg/cris/{ => bare}/check_movpr.s (100%)
 rename tests/tcg/cris/{ => bare}/check_movprv32.s (100%)
 rename tests/tcg/cris/{ => bare}/check_movscr.s (100%)
 rename tests/tcg/cris/{ => bare}/check_movsm.s (100%)
 rename tests/tcg/cris/{ => bare}/check_movsr.s (100%)
 rename tests/tcg/cris/{ => bare}/check_movucr.s (100%)
 rename tests/tcg/cris/{ => bare}/check_movum.s (100%)
 rename tests/tcg/cris/{ => bare}/check_movur.s (100%)
 rename tests/tcg/cris/{ => bare}/check_mulv32.s (100%)
 rename tests/tcg/cris/{ => bare}/check_mulx.s (98%)
 rename tests/tcg/cris/{ => bare}/check_neg.s (100%)
 rename tests/tcg/cris/{ => bare}/check_not.s (100%)
 rename tests/tcg/cris/{ => bare}/check_orc.s (100%)
 rename tests/tcg/cris/{ => bare}/check_orm.s (100%)
 rename tests/tcg/cris/{ => bare}/check_orq.s (100%)
 rename tests/tcg/cris/{ => bare}/check_orr.s (100%)
 rename tests/tcg/cris/{ => bare}/check_ret.s (100%)
 rename tests/tcg/cris/{ => bare}/check_scc.s (100%)
 rename tests/tcg/cris/{ => bare}/check_subc.s (100%)
 rename tests/tcg/cris/{ => bare}/check_subm.s (100%)
 rename tests/tcg/cris/{ => bare}/check_subq.s (100%)
 rename tests/tcg/cris/{ => bare}/check_subr.s (100%)
 rename tests/tcg/cris/{ => bare}/check_xarith.s (100%)
 rename tests/tcg/cris/{ => bare}/crt.s (100%)
 create mode 100644 tests/tcg/cris/bare/sys.c
 rename tests/tcg/cris/{ => bare}/testutils.inc (100%)
 rename tests/tcg/cris/{ => libc}/check_abs.c (100%)
 rename tests/tcg/cris/{ => libc}/check_addc.c (100%)
 rename tests/tcg/cris/{ => libc}/check_addcm.c (100%)
 rename tests/tcg/cris/{ => libc}/check_addo.c (100%)
 rename tests/tcg/cris/{ => libc}/check_addoq.c (100%)
 rename tests/tcg/cris/{ => libc}/check_bound.c (100%)
 rename tests/tcg/cris/{ => libc}/check_ftag.c (100%)
 rename tests/tcg/cris/{ => libc}/check_gcctorture_pr28634-1.c (100%)
 rename tests/tcg/cris/{ => libc}/check_gcctorture_pr28634.c (100%)
 rename tests/tcg/cris/{ => libc}/check_glibc_kernelversion.c (100%)
 rename tests/tcg/cris/{ => libc}/check_hello.c (100%)
 rename tests/tcg/cris/{ => libc}/check_int64.c (100%)
 rename tests/tcg/cris/{ => libc}/check_lz.c (100%)
 rename tests/tcg/cris/{ => libc}/check_mapbrk.c (100%)
 rename tests/tcg/cris/{ => libc}/check_mmap1.c (100%)
 rename tests/tcg/cris/{ => libc}/check_mmap2.c (100%)
 rename tests/tcg/cris/{ => libc}/check_mmap3.c (100%)
 rename tests/tcg/cris/{ => libc}/check_moveq.c (100%)
 rename tests/tcg/cris/{ => libc}/check_openpf1.c (100%)
 rename tests/tcg/cris/{ => libc}/check_openpf2.c (100%)
 rename tests/tcg/cris/{ => libc}/check_openpf3.c (100%)
 rename tests/tcg/cris/{ => libc}/check_openpf5.c (100%)
 rename tests/tcg/cris/{ => libc}/check_settls1.c (100%)
 rename tests/tcg/cris/{ => libc}/check_sigalrm.c (100%)
 rename tests/tcg/cris/{ => libc}/check_stat1.c (100%)
 rename tests/tcg/cris/{ => libc}/check_stat2.c (100%)
 rename tests/tcg/cris/{ => libc}/check_stat3.c (100%)
 rename tests/tcg/cris/{ => libc}/check_stat4.c (100%)
 rename tests/tcg/cris/{ => libc}/check_swap.c (100%)
 rename tests/tcg/cris/{ => libc}/check_time2.c (100%)
 rename tests/tcg/cris/{ => libc}/crisutils.h (100%)
 rename tests/tcg/cris/{ => libc}/sys.h (100%)
 delete mode 100644 tests/tcg/cris/sys.c
 create mode 100644 tests/tcg/i386/Makefile.softmmu-target
 create mode 100644 tests/tcg/i386/system/boot.S
 create mode 100644 tests/tcg/i386/system/hello.c
 create mode 100644 tests/tcg/i386/system/kernel.ld
 create mode 100644 tests/tcg/i386/system/memory.c
 create mode 100644 tests/tcg/minilib/Makefile.target
 create mode 100644 tests/tcg/minilib/minilib.h
 create mode 100644 tests/tcg/minilib/printf.c
 delete mode 100644 tests/tcg/xtensa/Makefile
 create mode 100644 tests/tcg/xtensa/Makefile.include
 create mode 100644 tests/tcg/xtensa/Makefile.softmmu-target

--
2.20.1


Re: [Qemu-devel] [PULL 00/26] final testing updates for 4.0
Posted by Philippe Mathieu-Daudé 6 years, 8 months ago
Hi Alex,

On 3/12/19 6:09 PM, Alex Bennée wrote:
> The following changes since commit 46316f1dfffc6be72e94e89f7b0e9162e7dcdcf1:
> 
>   Merge remote-tracking branch 'remotes/awilliam/tags/vfio-updates-20190311.0' into staging (2019-03-12 13:37:29 +0000)
> 
> are available in the Git repository at:
> 
>   https://github.com/stsquad/qemu.git tags/pull-testing-for-4.0-120319-1
> 
> for you to fetch changes up to dab3a7c0f54cedc542205fb6f29184b510dfe479:
> 
>   .travis.yml: add softmmu check-tcg tests (2019-03-12 17:05:21 +0000)
> 
> ----------------------------------------------------------------
> Final testing fixes for 4.0
> 
>   - various CI tweaks and fixes
>   - fixes for some tcg tests
>   - addition of system tcg tests

I was taking notes while reviewing the v4 series you sent 70 minutes
before sending this PR:
https://lists.gnu.org/archive/html/qemu-devel/2019-03/msg04019.html

No blocking issues, but still a quite fast PR IMHO.

> ----------------------------------------------------------------
> Alex Bennée (23):
>       .travis.yml: combine docs and tools build with out-of-tree
>       .travis.yml: reduce the module builds to major architectures
>       Makefile: explicitly pass $(SRC_PATH) to gcovr
>       Makefile: explicitly pass $(BUILD_DIR) to gcovr
>       tests/tcg: add softmmu awareness to Makefile
>       tests/tcg: enable tcg tests for softmmu
>       tests/tcg: add QEMU_OPT option for test runner
>       tests/tcg: split run-test into user and system variants
>       tests/tcg: add gdb runner variant
>       tests/tcg/mips: fix hello-mips compilation
>       tests/tcg/xtensa: enable system tests
>       tests/docker: add fedora-cris-cross compilers
>       tests/tcg/cris: cleanup sys.c
>       tests/tcg: split cris tests into bare and libc directories
>       tests/tcg/cris: comment out the ccs test
>       tests/tcg/cris: align mul operations
>       tests/tcg: enable cris base user-mode tests
>       tests/tcg: provide a minilib for system tests
>       tests/tcg/i386: add system mode Hello World test
>       tests/tcg/i386: add memory test to exercise softmmu
>       tests/tcg/arm: account for pauth randomness
>       .travis.yml: separate softfloat from check-tcg
>       .travis.yml: add softmmu check-tcg tests
> 
> Philippe Mathieu-Daudé (2):
>       travis: Bump Xcode 10 image to 10.2
>       tests/docker: add debian-xtensa-cross image
> 
> Stefan Hajnoczi (1):
>       tests/tcg/arm: add ARMv6-M UNDEFINED 32-bit instruction test

Re: [Qemu-devel] [PULL 00/26] final testing updates for 4.0
Posted by Alex Bennée 6 years, 8 months ago
Philippe Mathieu-Daudé <philmd@redhat.com> writes:

> Hi Alex,
>
> On 3/12/19 6:09 PM, Alex Bennée wrote:
>> The following changes since commit 46316f1dfffc6be72e94e89f7b0e9162e7dcdcf1:
>>
>>   Merge remote-tracking branch 'remotes/awilliam/tags/vfio-updates-20190311.0' into staging (2019-03-12 13:37:29 +0000)
>>
>> are available in the Git repository at:
>>
>>   https://github.com/stsquad/qemu.git tags/pull-testing-for-4.0-120319-1
>>
>> for you to fetch changes up to dab3a7c0f54cedc542205fb6f29184b510dfe479:
>>
>>   .travis.yml: add softmmu check-tcg tests (2019-03-12 17:05:21 +0000)
>>
>> ----------------------------------------------------------------
>> Final testing fixes for 4.0
>>
>>   - various CI tweaks and fixes
>>   - fixes for some tcg tests
>>   - addition of system tcg tests
>
> I was taking notes while reviewing the v4 series you sent 70 minutes
> before sending this PR:
> https://lists.gnu.org/archive/html/qemu-devel/2019-03/msg04019.html
>
> No blocking issues, but still a quite fast PR IMHO.

Yeah sorry, I was hoping to get the original series out faster but the
turnaround on the CI is quite slow and I wanted to get the PR on the
list before the deadline (although the TZ isn't specified ;-).


--
Alex Bennée

Re: [Qemu-devel] [PULL 00/26] final testing updates for 4.0
Posted by Peter Maydell 6 years, 8 months ago
On Tue, 12 Mar 2019 at 17:09, Alex Bennée <alex.bennee@linaro.org> wrote:
>
> The following changes since commit 46316f1dfffc6be72e94e89f7b0e9162e7dcdcf1:
>
>   Merge remote-tracking branch 'remotes/awilliam/tags/vfio-updates-20190311.0' into staging (2019-03-12 13:37:29 +0000)
>
> are available in the Git repository at:
>
>   https://github.com/stsquad/qemu.git tags/pull-testing-for-4.0-120319-1
>
> for you to fetch changes up to dab3a7c0f54cedc542205fb6f29184b510dfe479:
>
>   .travis.yml: add softmmu check-tcg tests (2019-03-12 17:05:21 +0000)
>
> ----------------------------------------------------------------
> Final testing fixes for 4.0
>
>   - various CI tweaks and fixes
>   - fixes for some tcg tests
>   - addition of system tcg tests
>

Applied, thanks.

Please update the changelog at https://wiki.qemu.org/ChangeLog/4.0
for any user-visible changes.

-- PMM

[Qemu-devel] [PULL 01/26] travis: Bump Xcode 10 image to 10.2
Posted by Alex Bennée 6 years, 8 months ago
From: Philippe Mathieu-Daudé <philmd@redhat.com>

Travis enforce the use of the git protocol v2 on their images,
but the 'xcode10' image doesn't handle this correctly, resulting
in the brew packages installation failing:

  $ git config protocol.version
  2
  $ rvm $brew_ruby do brew bundle --verbose --global
  /usr/local/bin/brew tap homebrew/bundle
  ==> Tapping homebrew/bundle
  Cloning into '/usr/local/Homebrew/Library/Taps/homebrew/homebrew-bundle'...
  fatal: unknown value for config 'protocol.version': 2
  Error: Failure while executing; `git clone https://github.com/Homebrew/homebrew-bundle /usr/local/Homebrew/Library/Taps/homebrew/homebrew-bundle --depth=1` exited with 128.
  Error: Failure while executing; `/usr/local/bin/brew tap homebrew/bundle` exited with 1.

The newer 'xcode10.2' beta [*] image doesn't have this limitation.

This image comes with the following brew packages pre-installed,
which extend the current code coverage:
 - libffi
 - libpng
 - libtasn1
 - gnutls
 - jpeg
 - nettle

[*] https://blog.travis-ci.com/2019-02-12-xcode-10-2-beta-2-is-now-available

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20190220193541.24419-1-philmd@redhat.com>
[AJB: re-enabled MacOS build first]
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

diff --git a/.travis.yml b/.travis.yml
index e942175dd3..ecaea97650 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -185,6 +185,13 @@ matrix:
       compiler: clang
 
 
+    - env:
+        - CONFIG="--target-list=i386-softmmu,ppc-softmmu,ppc64-softmmu,m68k-softmmu,x86_64-softmmu"
+      os: osx
+      osx_image: xcode10.2
+      compiler: clang
+
+
     # Python builds
     - env:
         - CONFIG="--target-list=x86_64-softmmu"
-- 
2.20.1


[Qemu-devel] [PULL 02/26] .travis.yml: combine docs and tools build with out-of-tree
Posted by Alex Bennée 6 years, 8 months ago
We will be moving all builds out of tree eventually but for now we
need to for building the docs as sphinx requires an out-of-tree build.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

diff --git a/.travis.yml b/.travis.yml
index ecaea97650..c46b0c28df 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -114,8 +114,9 @@ matrix:
         - TEST_CMD="make check-unit -j3 V=1"
 
 
-    # Check we can build docs and tools
+    # Check we can build docs and tools (out of tree)
     - env:
+        - BUILD_DIR="out-of-tree/build/dir" SRC_DIR="../../.."
         - BASE_CONFIG="--enable-tools --enable-docs"
         - CONFIG="--target-list=x86_64-softmmu,aarch64-linux-user"
       addons:
@@ -125,11 +126,6 @@ matrix:
             - texinfo
             - perl
 
-    # Test out-of-tree builds
-    - env:
-        - CONFIG="--enable-debug --enable-debug-tcg"
-        - BUILD_DIR="out-of-tree/build/dir" SRC_DIR="../../.."
-
 
     # Test with Clang for compile portability (Travis uses clang-5.0)
     - env:
-- 
2.20.1


[Qemu-devel] [PULL 03/26] .travis.yml: reduce the module builds to major architectures
Posted by Alex Bennée 6 years, 8 months ago
The --enable-modules build is consistently tripping the time limit so
reduce our target list to the "major" architectures.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

diff --git a/.travis.yml b/.travis.yml
index c46b0c28df..d5c9bbf1b2 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -98,8 +98,9 @@ matrix:
         - CONFIG="--disable-linux-aio --disable-cap-ng --disable-attr --disable-brlapi --disable-libusb --disable-user --disable-replication"
 
 
+    # Module builds are mostly of interest to major distros
     - env:
-        - CONFIG="--enable-modules --disable-linux-user"
+        - CONFIG="--enable-modules --target-list=aarch64-softmmu,arm-softmmu,i386-softmmu,mips-softmmu,mips64-softmmu,ppc64-softmmu,riscv64-softmmu,s390x-softmmu,x86_64-softmmu"
 
 
     # Alternate coroutines implementations are only really of interest to KVM users
-- 
2.20.1


[Qemu-devel] [PULL 04/26] Makefile: explicitly pass $(SRC_PATH) to gcovr
Posted by Alex Bennée 6 years, 8 months ago
In an out-of-tree build gcovr can get quite confused about what is
going on otherwise.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>

diff --git a/Makefile b/Makefile
index 6ccb8639b0..7202ac76dc 100644
--- a/Makefile
+++ b/Makefile
@@ -964,7 +964,7 @@ $(filter %.1 %.7 %.8,$(DOCS)): scripts/texi2pod.pl
 %/coverage-report.html:
 	@mkdir -p $*
 	$(call quiet-command,\
-		gcovr -p --html --html-details -o $@, \
+		gcovr -r $(SRC_PATH) -p --html --html-details -o $@, \
 		"GEN", "coverage-report.html")
 
 .PHONY: coverage-report
-- 
2.20.1


[Qemu-devel] [PULL 05/26] Makefile: explicitly pass $(BUILD_DIR) to gcovr
Posted by Alex Bennée 6 years, 8 months ago
Best to be explicit about where to find things.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>

diff --git a/Makefile b/Makefile
index 7202ac76dc..248fe9db7b 100644
--- a/Makefile
+++ b/Makefile
@@ -964,7 +964,8 @@ $(filter %.1 %.7 %.8,$(DOCS)): scripts/texi2pod.pl
 %/coverage-report.html:
 	@mkdir -p $*
 	$(call quiet-command,\
-		gcovr -r $(SRC_PATH) -p --html --html-details -o $@, \
+		gcovr -r $(SRC_PATH) --object-directory $(BUILD_PATH) \
+		-p --html --html-details -o $@, \
 		"GEN", "coverage-report.html")
 
 .PHONY: coverage-report
-- 
2.20.1


[Qemu-devel] [PULL 08/26] tests/tcg: add QEMU_OPT option for test runner
Posted by Alex Bennée 6 years, 8 months ago
This will allow tests to modify the QEMU invocation with for example
different -cpu stazas without having to define a whole new set of
runner types.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

diff --git a/tests/tcg/Makefile b/tests/tcg/Makefile
index 55feab0f67..454d0a4119 100644
--- a/tests/tcg/Makefile
+++ b/tests/tcg/Makefile
@@ -54,10 +54,13 @@ LDFLAGS=
 # The QEMU for this TARGET
 ifdef CONFIG_USER_ONLY
 QEMU=../qemu-$(TARGET_NAME)
+QEMU_OPTS=
 else
 QEMU=../qemu-system-$(TARGET_NAME)
+QEMU_OPTS=-monitor none -display none
 endif
 
+
 # If TCG debugging is enabled things are a lot slower
 ifeq ($(CONFIG_DEBUG_TCG),y)
 TIMEOUT=45
@@ -108,7 +111,7 @@ RUN_TESTS=$(patsubst %,run-%, $(TESTS))
 RUN_TESTS+=$(EXTRA_RUNS)
 
 run-%: %
-	$(call run-test, $<, $(QEMU) $<, "$< on $(TARGET_NAME)")
+	$(call run-test, $<, $(QEMU) $(QEMU_OPTS) $<, "$< on $(TARGET_NAME)")
 
 .PHONY: run
 run: $(RUN_TESTS)
-- 
2.20.1


[Qemu-devel] [PULL 09/26] tests/tcg: split run-test into user and system variants
Posted by Alex Bennée 6 years, 8 months ago
We can't rely on shell redirect magic to get things right so lets
setup a common output chardev that is expecting to write to files. As
we have split run-test up we might as well move the default monitor
bits into the call.

Finally a little make sophistry is required to correctly quote
$(COMMA) and as we don't inherit common rules we have our own little
copy here.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

diff --git a/tests/tcg/Makefile b/tests/tcg/Makefile
index 454d0a4119..d26a36df61 100644
--- a/tests/tcg/Makefile
+++ b/tests/tcg/Makefile
@@ -32,10 +32,17 @@
 -include ../../config-host.mak
 -include ../config-target.mak
 
+# for including , in command strings
+COMMA := ,
+
 quiet-command = $(if $(V),$1,$(if $(2),@printf "  %-7s %s\n" $2 $3 && $1, @$1))
 
 # $1 = test name, $2 = cmd, $3 = desc
+ifdef CONFIG_USER_ONLY
 run-test = $(call quiet-command, timeout $(TIMEOUT) $2 > $1.out,"TEST",$3)
+else
+run-test = $(call quiet-command, timeout $(TIMEOUT) $2,"TEST",$3)
+endif
 
 # $1 = test name, $2 = reference
 diff-out = $(call quiet-command, diff -u $1.out $2 | head -n 10,"DIFF","$1.out with $2")
@@ -54,11 +61,10 @@ LDFLAGS=
 # The QEMU for this TARGET
 ifdef CONFIG_USER_ONLY
 QEMU=../qemu-$(TARGET_NAME)
-QEMU_OPTS=
 else
 QEMU=../qemu-system-$(TARGET_NAME)
-QEMU_OPTS=-monitor none -display none
 endif
+QEMU_OPTS=
 
 
 # If TCG debugging is enabled things are a lot slower
@@ -110,8 +116,17 @@ all: $(TESTS)
 RUN_TESTS=$(patsubst %,run-%, $(TESTS))
 RUN_TESTS+=$(EXTRA_RUNS)
 
+ifdef CONFIG_USER_ONLY
 run-%: %
 	$(call run-test, $<, $(QEMU) $(QEMU_OPTS) $<, "$< on $(TARGET_NAME)")
+else
+run-%: %
+	$(call run-test, $<, \
+	  $(QEMU) -monitor none -display none \
+		  -chardev file$(COMMA)path=$<.out$(COMMA)id=output \
+	   	  $(QEMU_OPTS) $<, \
+	  "$< on $(TARGET_NAME)")
+endif
 
 .PHONY: run
 run: $(RUN_TESTS)
-- 
2.20.1


[Qemu-devel] [PULL 10/26] tests/tcg: add gdb runner variant
Posted by Alex Bennée 6 years, 8 months ago
With this you can launch a test in gdb with:

  cd $(BUILD)/tests
  make -f $(SRC)/tests/tcg/Makefile gdb-$(TEST_NAME)

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

diff --git a/tests/tcg/Makefile b/tests/tcg/Makefile
index d26a36df61..8dfd1a76b9 100644
--- a/tests/tcg/Makefile
+++ b/tests/tcg/Makefile
@@ -128,6 +128,9 @@ run-%: %
 	  "$< on $(TARGET_NAME)")
 endif
 
+gdb-%: %
+	gdb --args $(QEMU) $(QEMU_OPTS) $<
+
 .PHONY: run
 run: $(RUN_TESTS)
 
-- 
2.20.1


[Qemu-devel] [PULL 15/26] tests/docker: add fedora-cris-cross compilers
Posted by Alex Bennée 6 years, 8 months ago
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

diff --git a/tests/docker/dockerfiles/fedora-cris-cross.docker b/tests/docker/dockerfiles/fedora-cris-cross.docker
new file mode 100644
index 0000000000..b168ada615
--- /dev/null
+++ b/tests/docker/dockerfiles/fedora-cris-cross.docker
@@ -0,0 +1,8 @@
+#
+# Cross compiler for cris system tests
+#
+
+FROM fedora:latest
+ENV PACKAGES gcc-cris-linux-gnu
+RUN dnf install -y $PACKAGES
+RUN rpm -q $PACKAGES | sort > /packages.txt
-- 
2.20.1


[Qemu-devel] [PULL 16/26] tests/tcg/cris: cleanup sys.c
Posted by Alex Bennée 6 years, 8 months ago
This is a mini library which provides helper functions to the tests
which are all currently written in assembly. A bunch of minor changes:

      - removed libc related headers (fedora-cris-cross is a system compiler)
      - re-organised the functions to avoid forward declarations
      - cleaned up brace usage
      - restored exit for _fail case
      - removed tabs and fixed indentation

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

diff --git a/tests/tcg/cris/sys.c b/tests/tcg/cris/sys.c
index 21f08c0747..1644eecc33 100644
--- a/tests/tcg/cris/sys.c
+++ b/tests/tcg/cris/sys.c
@@ -1,59 +1,63 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-
-static inline int mystrlen(char *s) {
-	int i = 0;
-	while (s[i])
-		i++;
-	return i;
+/*
+ * Helper functions for CRIS system tests
+ *
+ * There is no libc and only a limited set of headers.
+ */
+
+#include <stddef.h>
+
+void exit(int status)
+{
+    register unsigned int callno asm ("r9") = 1; /* NR_exit */
+
+    asm volatile ("break 13\n"
+                  : /* no outputs */
+                  : "r" (callno)
+                  : "memory");
+    while (1) {
+        /* do nothing */
+    };
 }
 
-void pass(void) {
-	char s[] = "passed.\n";
-	write (1, s, sizeof (s) - 1);
-	exit (0);
-}
+size_t write(int fd, const void *buf, size_t count)
+{
+    register unsigned int callno asm ("r9") = 4; /* NR_write */
+    register unsigned int r10 asm ("r10") = fd;
+    register const void *r11 asm ("r11") = buf;
+    register size_t r12 asm ("r12") = count;
+    register unsigned int r asm ("r10");
 
-void _fail(char *reason) {
-	char s[] = "\nfailed: ";
-	int len = mystrlen(reason);
-	write (1, s, sizeof (s) - 1);
-	write (1, reason, len);
-	write (1, "\n", 1);
-//	exit (1);
-}
+    asm volatile ("break 13\n"
+                  : "=r" (r)
+                  : "r" (callno), "0" (r10), "r" (r11), "r" (r12)
+                  : "memory");
 
-void *memset (void *s, int c, size_t n) {
-	char *p = s;
-	int i;
-	for (i = 0; i < n; i++)
-		p[i] = c;
-	return p;
+    return r;
 }
 
-void exit (int status) {
-	register unsigned int callno asm ("r9") = 1; /* NR_exit */
-
-	asm volatile ("break 13\n"
-		      :
-		      : "r" (callno)
-		      : "memory" );
-	while(1)
-		;
+static inline int mystrlen(char *s)
+{
+    int i = 0;
+    while (s[i]) {
+        i++;
+    }
+    return i;
 }
 
-ssize_t write (int fd, const void *buf, size_t count) {
-	register unsigned int callno asm ("r9") = 4; /* NR_write */
-	register unsigned int r10 asm ("r10") = fd;
-	register const void *r11 asm ("r11") = buf;
-	register size_t r12 asm ("r12") = count;
-	register unsigned int r asm ("r10");
 
-	asm volatile ("break 13\n"
-	     : "=r" (r)
-	     : "r" (callno), "0" (r10), "r" (r11), "r" (r12)
-	     : "memory");
+void pass(void)
+{
+    char s[] = "passed.\n";
+    write(1, s, sizeof(s) - 1);
+    exit(0);
+}
 
-	return r;
+void _fail(char *reason)
+{
+    char s[] = "\nfailed: ";
+    int len = mystrlen(reason);
+    write(1, s, sizeof(s) - 1);
+    write(1, reason, len);
+    write(1, "\n", 1);
+    exit(1);
 }
-- 
2.20.1


[Qemu-devel] [PULL 17/26] tests/tcg: split cris tests into bare and libc directories
Posted by Alex Bennée 6 years, 8 months ago
Bare tests are standalone assembly tests that don't require linking to
any libc and hence can be built with kernel only compilers. The libc
tests need a compiler capable of building properly linked userspace
binaries. As we don't have such a cross compiler at the moment we
won't be building those tests.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

diff --git a/tests/tcg/cris/check_addcv17.s b/tests/tcg/cris/bare/check_addcv17.s
similarity index 100%
rename from tests/tcg/cris/check_addcv17.s
rename to tests/tcg/cris/bare/check_addcv17.s
diff --git a/tests/tcg/cris/check_addi.s b/tests/tcg/cris/bare/check_addi.s
similarity index 100%
rename from tests/tcg/cris/check_addi.s
rename to tests/tcg/cris/bare/check_addi.s
diff --git a/tests/tcg/cris/check_addiv32.s b/tests/tcg/cris/bare/check_addiv32.s
similarity index 100%
rename from tests/tcg/cris/check_addiv32.s
rename to tests/tcg/cris/bare/check_addiv32.s
diff --git a/tests/tcg/cris/check_addm.s b/tests/tcg/cris/bare/check_addm.s
similarity index 100%
rename from tests/tcg/cris/check_addm.s
rename to tests/tcg/cris/bare/check_addm.s
diff --git a/tests/tcg/cris/check_addq.s b/tests/tcg/cris/bare/check_addq.s
similarity index 100%
rename from tests/tcg/cris/check_addq.s
rename to tests/tcg/cris/bare/check_addq.s
diff --git a/tests/tcg/cris/check_addr.s b/tests/tcg/cris/bare/check_addr.s
similarity index 100%
rename from tests/tcg/cris/check_addr.s
rename to tests/tcg/cris/bare/check_addr.s
diff --git a/tests/tcg/cris/check_addxc.s b/tests/tcg/cris/bare/check_addxc.s
similarity index 100%
rename from tests/tcg/cris/check_addxc.s
rename to tests/tcg/cris/bare/check_addxc.s
diff --git a/tests/tcg/cris/check_addxm.s b/tests/tcg/cris/bare/check_addxm.s
similarity index 100%
rename from tests/tcg/cris/check_addxm.s
rename to tests/tcg/cris/bare/check_addxm.s
diff --git a/tests/tcg/cris/check_addxr.s b/tests/tcg/cris/bare/check_addxr.s
similarity index 100%
rename from tests/tcg/cris/check_addxr.s
rename to tests/tcg/cris/bare/check_addxr.s
diff --git a/tests/tcg/cris/check_andc.s b/tests/tcg/cris/bare/check_andc.s
similarity index 100%
rename from tests/tcg/cris/check_andc.s
rename to tests/tcg/cris/bare/check_andc.s
diff --git a/tests/tcg/cris/check_andm.s b/tests/tcg/cris/bare/check_andm.s
similarity index 100%
rename from tests/tcg/cris/check_andm.s
rename to tests/tcg/cris/bare/check_andm.s
diff --git a/tests/tcg/cris/check_andq.s b/tests/tcg/cris/bare/check_andq.s
similarity index 100%
rename from tests/tcg/cris/check_andq.s
rename to tests/tcg/cris/bare/check_andq.s
diff --git a/tests/tcg/cris/check_andr.s b/tests/tcg/cris/bare/check_andr.s
similarity index 100%
rename from tests/tcg/cris/check_andr.s
rename to tests/tcg/cris/bare/check_andr.s
diff --git a/tests/tcg/cris/check_asr.s b/tests/tcg/cris/bare/check_asr.s
similarity index 100%
rename from tests/tcg/cris/check_asr.s
rename to tests/tcg/cris/bare/check_asr.s
diff --git a/tests/tcg/cris/check_ba.s b/tests/tcg/cris/bare/check_ba.s
similarity index 100%
rename from tests/tcg/cris/check_ba.s
rename to tests/tcg/cris/bare/check_ba.s
diff --git a/tests/tcg/cris/check_bas.s b/tests/tcg/cris/bare/check_bas.s
similarity index 100%
rename from tests/tcg/cris/check_bas.s
rename to tests/tcg/cris/bare/check_bas.s
diff --git a/tests/tcg/cris/check_bcc.s b/tests/tcg/cris/bare/check_bcc.s
similarity index 100%
rename from tests/tcg/cris/check_bcc.s
rename to tests/tcg/cris/bare/check_bcc.s
diff --git a/tests/tcg/cris/check_boundc.s b/tests/tcg/cris/bare/check_boundc.s
similarity index 100%
rename from tests/tcg/cris/check_boundc.s
rename to tests/tcg/cris/bare/check_boundc.s
diff --git a/tests/tcg/cris/check_boundr.s b/tests/tcg/cris/bare/check_boundr.s
similarity index 100%
rename from tests/tcg/cris/check_boundr.s
rename to tests/tcg/cris/bare/check_boundr.s
diff --git a/tests/tcg/cris/check_btst.s b/tests/tcg/cris/bare/check_btst.s
similarity index 100%
rename from tests/tcg/cris/check_btst.s
rename to tests/tcg/cris/bare/check_btst.s
diff --git a/tests/tcg/cris/check_clearfv32.s b/tests/tcg/cris/bare/check_clearfv32.s
similarity index 100%
rename from tests/tcg/cris/check_clearfv32.s
rename to tests/tcg/cris/bare/check_clearfv32.s
diff --git a/tests/tcg/cris/check_clrjmp1.s b/tests/tcg/cris/bare/check_clrjmp1.s
similarity index 100%
rename from tests/tcg/cris/check_clrjmp1.s
rename to tests/tcg/cris/bare/check_clrjmp1.s
diff --git a/tests/tcg/cris/check_cmp-2.s b/tests/tcg/cris/bare/check_cmp-2.s
similarity index 100%
rename from tests/tcg/cris/check_cmp-2.s
rename to tests/tcg/cris/bare/check_cmp-2.s
diff --git a/tests/tcg/cris/check_cmpc.s b/tests/tcg/cris/bare/check_cmpc.s
similarity index 100%
rename from tests/tcg/cris/check_cmpc.s
rename to tests/tcg/cris/bare/check_cmpc.s
diff --git a/tests/tcg/cris/check_cmpm.s b/tests/tcg/cris/bare/check_cmpm.s
similarity index 100%
rename from tests/tcg/cris/check_cmpm.s
rename to tests/tcg/cris/bare/check_cmpm.s
diff --git a/tests/tcg/cris/check_cmpq.s b/tests/tcg/cris/bare/check_cmpq.s
similarity index 100%
rename from tests/tcg/cris/check_cmpq.s
rename to tests/tcg/cris/bare/check_cmpq.s
diff --git a/tests/tcg/cris/check_cmpr.s b/tests/tcg/cris/bare/check_cmpr.s
similarity index 100%
rename from tests/tcg/cris/check_cmpr.s
rename to tests/tcg/cris/bare/check_cmpr.s
diff --git a/tests/tcg/cris/check_cmpxc.s b/tests/tcg/cris/bare/check_cmpxc.s
similarity index 100%
rename from tests/tcg/cris/check_cmpxc.s
rename to tests/tcg/cris/bare/check_cmpxc.s
diff --git a/tests/tcg/cris/check_cmpxm.s b/tests/tcg/cris/bare/check_cmpxm.s
similarity index 100%
rename from tests/tcg/cris/check_cmpxm.s
rename to tests/tcg/cris/bare/check_cmpxm.s
diff --git a/tests/tcg/cris/check_dstep.s b/tests/tcg/cris/bare/check_dstep.s
similarity index 100%
rename from tests/tcg/cris/check_dstep.s
rename to tests/tcg/cris/bare/check_dstep.s
diff --git a/tests/tcg/cris/check_jsr.s b/tests/tcg/cris/bare/check_jsr.s
similarity index 100%
rename from tests/tcg/cris/check_jsr.s
rename to tests/tcg/cris/bare/check_jsr.s
diff --git a/tests/tcg/cris/check_lapc.s b/tests/tcg/cris/bare/check_lapc.s
similarity index 100%
rename from tests/tcg/cris/check_lapc.s
rename to tests/tcg/cris/bare/check_lapc.s
diff --git a/tests/tcg/cris/check_lsl.s b/tests/tcg/cris/bare/check_lsl.s
similarity index 100%
rename from tests/tcg/cris/check_lsl.s
rename to tests/tcg/cris/bare/check_lsl.s
diff --git a/tests/tcg/cris/check_lsr.s b/tests/tcg/cris/bare/check_lsr.s
similarity index 100%
rename from tests/tcg/cris/check_lsr.s
rename to tests/tcg/cris/bare/check_lsr.s
diff --git a/tests/tcg/cris/check_mcp.s b/tests/tcg/cris/bare/check_mcp.s
similarity index 100%
rename from tests/tcg/cris/check_mcp.s
rename to tests/tcg/cris/bare/check_mcp.s
diff --git a/tests/tcg/cris/check_movdelsr1.s b/tests/tcg/cris/bare/check_movdelsr1.s
similarity index 100%
rename from tests/tcg/cris/check_movdelsr1.s
rename to tests/tcg/cris/bare/check_movdelsr1.s
diff --git a/tests/tcg/cris/check_movecr.s b/tests/tcg/cris/bare/check_movecr.s
similarity index 100%
rename from tests/tcg/cris/check_movecr.s
rename to tests/tcg/cris/bare/check_movecr.s
diff --git a/tests/tcg/cris/check_movei.s b/tests/tcg/cris/bare/check_movei.s
similarity index 100%
rename from tests/tcg/cris/check_movei.s
rename to tests/tcg/cris/bare/check_movei.s
diff --git a/tests/tcg/cris/check_movemr.s b/tests/tcg/cris/bare/check_movemr.s
similarity index 100%
rename from tests/tcg/cris/check_movemr.s
rename to tests/tcg/cris/bare/check_movemr.s
diff --git a/tests/tcg/cris/check_movemrv32.s b/tests/tcg/cris/bare/check_movemrv32.s
similarity index 100%
rename from tests/tcg/cris/check_movemrv32.s
rename to tests/tcg/cris/bare/check_movemrv32.s
diff --git a/tests/tcg/cris/check_mover.s b/tests/tcg/cris/bare/check_mover.s
similarity index 100%
rename from tests/tcg/cris/check_mover.s
rename to tests/tcg/cris/bare/check_mover.s
diff --git a/tests/tcg/cris/check_moverm.s b/tests/tcg/cris/bare/check_moverm.s
similarity index 100%
rename from tests/tcg/cris/check_moverm.s
rename to tests/tcg/cris/bare/check_moverm.s
diff --git a/tests/tcg/cris/check_movmp.s b/tests/tcg/cris/bare/check_movmp.s
similarity index 100%
rename from tests/tcg/cris/check_movmp.s
rename to tests/tcg/cris/bare/check_movmp.s
diff --git a/tests/tcg/cris/check_movpmv32.s b/tests/tcg/cris/bare/check_movpmv32.s
similarity index 100%
rename from tests/tcg/cris/check_movpmv32.s
rename to tests/tcg/cris/bare/check_movpmv32.s
diff --git a/tests/tcg/cris/check_movpr.s b/tests/tcg/cris/bare/check_movpr.s
similarity index 100%
rename from tests/tcg/cris/check_movpr.s
rename to tests/tcg/cris/bare/check_movpr.s
diff --git a/tests/tcg/cris/check_movprv32.s b/tests/tcg/cris/bare/check_movprv32.s
similarity index 100%
rename from tests/tcg/cris/check_movprv32.s
rename to tests/tcg/cris/bare/check_movprv32.s
diff --git a/tests/tcg/cris/check_movscr.s b/tests/tcg/cris/bare/check_movscr.s
similarity index 100%
rename from tests/tcg/cris/check_movscr.s
rename to tests/tcg/cris/bare/check_movscr.s
diff --git a/tests/tcg/cris/check_movsm.s b/tests/tcg/cris/bare/check_movsm.s
similarity index 100%
rename from tests/tcg/cris/check_movsm.s
rename to tests/tcg/cris/bare/check_movsm.s
diff --git a/tests/tcg/cris/check_movsr.s b/tests/tcg/cris/bare/check_movsr.s
similarity index 100%
rename from tests/tcg/cris/check_movsr.s
rename to tests/tcg/cris/bare/check_movsr.s
diff --git a/tests/tcg/cris/check_movucr.s b/tests/tcg/cris/bare/check_movucr.s
similarity index 100%
rename from tests/tcg/cris/check_movucr.s
rename to tests/tcg/cris/bare/check_movucr.s
diff --git a/tests/tcg/cris/check_movum.s b/tests/tcg/cris/bare/check_movum.s
similarity index 100%
rename from tests/tcg/cris/check_movum.s
rename to tests/tcg/cris/bare/check_movum.s
diff --git a/tests/tcg/cris/check_movur.s b/tests/tcg/cris/bare/check_movur.s
similarity index 100%
rename from tests/tcg/cris/check_movur.s
rename to tests/tcg/cris/bare/check_movur.s
diff --git a/tests/tcg/cris/check_mulv32.s b/tests/tcg/cris/bare/check_mulv32.s
similarity index 100%
rename from tests/tcg/cris/check_mulv32.s
rename to tests/tcg/cris/bare/check_mulv32.s
diff --git a/tests/tcg/cris/check_mulx.s b/tests/tcg/cris/bare/check_mulx.s
similarity index 100%
rename from tests/tcg/cris/check_mulx.s
rename to tests/tcg/cris/bare/check_mulx.s
diff --git a/tests/tcg/cris/check_neg.s b/tests/tcg/cris/bare/check_neg.s
similarity index 100%
rename from tests/tcg/cris/check_neg.s
rename to tests/tcg/cris/bare/check_neg.s
diff --git a/tests/tcg/cris/check_not.s b/tests/tcg/cris/bare/check_not.s
similarity index 100%
rename from tests/tcg/cris/check_not.s
rename to tests/tcg/cris/bare/check_not.s
diff --git a/tests/tcg/cris/check_orc.s b/tests/tcg/cris/bare/check_orc.s
similarity index 100%
rename from tests/tcg/cris/check_orc.s
rename to tests/tcg/cris/bare/check_orc.s
diff --git a/tests/tcg/cris/check_orm.s b/tests/tcg/cris/bare/check_orm.s
similarity index 100%
rename from tests/tcg/cris/check_orm.s
rename to tests/tcg/cris/bare/check_orm.s
diff --git a/tests/tcg/cris/check_orq.s b/tests/tcg/cris/bare/check_orq.s
similarity index 100%
rename from tests/tcg/cris/check_orq.s
rename to tests/tcg/cris/bare/check_orq.s
diff --git a/tests/tcg/cris/check_orr.s b/tests/tcg/cris/bare/check_orr.s
similarity index 100%
rename from tests/tcg/cris/check_orr.s
rename to tests/tcg/cris/bare/check_orr.s
diff --git a/tests/tcg/cris/check_ret.s b/tests/tcg/cris/bare/check_ret.s
similarity index 100%
rename from tests/tcg/cris/check_ret.s
rename to tests/tcg/cris/bare/check_ret.s
diff --git a/tests/tcg/cris/check_scc.s b/tests/tcg/cris/bare/check_scc.s
similarity index 100%
rename from tests/tcg/cris/check_scc.s
rename to tests/tcg/cris/bare/check_scc.s
diff --git a/tests/tcg/cris/check_subc.s b/tests/tcg/cris/bare/check_subc.s
similarity index 100%
rename from tests/tcg/cris/check_subc.s
rename to tests/tcg/cris/bare/check_subc.s
diff --git a/tests/tcg/cris/check_subm.s b/tests/tcg/cris/bare/check_subm.s
similarity index 100%
rename from tests/tcg/cris/check_subm.s
rename to tests/tcg/cris/bare/check_subm.s
diff --git a/tests/tcg/cris/check_subq.s b/tests/tcg/cris/bare/check_subq.s
similarity index 100%
rename from tests/tcg/cris/check_subq.s
rename to tests/tcg/cris/bare/check_subq.s
diff --git a/tests/tcg/cris/check_subr.s b/tests/tcg/cris/bare/check_subr.s
similarity index 100%
rename from tests/tcg/cris/check_subr.s
rename to tests/tcg/cris/bare/check_subr.s
diff --git a/tests/tcg/cris/check_xarith.s b/tests/tcg/cris/bare/check_xarith.s
similarity index 100%
rename from tests/tcg/cris/check_xarith.s
rename to tests/tcg/cris/bare/check_xarith.s
diff --git a/tests/tcg/cris/crt.s b/tests/tcg/cris/bare/crt.s
similarity index 100%
rename from tests/tcg/cris/crt.s
rename to tests/tcg/cris/bare/crt.s
diff --git a/tests/tcg/cris/sys.c b/tests/tcg/cris/bare/sys.c
similarity index 100%
rename from tests/tcg/cris/sys.c
rename to tests/tcg/cris/bare/sys.c
diff --git a/tests/tcg/cris/testutils.inc b/tests/tcg/cris/bare/testutils.inc
similarity index 100%
rename from tests/tcg/cris/testutils.inc
rename to tests/tcg/cris/bare/testutils.inc
diff --git a/tests/tcg/cris/check_abs.c b/tests/tcg/cris/libc/check_abs.c
similarity index 100%
rename from tests/tcg/cris/check_abs.c
rename to tests/tcg/cris/libc/check_abs.c
diff --git a/tests/tcg/cris/check_addc.c b/tests/tcg/cris/libc/check_addc.c
similarity index 100%
rename from tests/tcg/cris/check_addc.c
rename to tests/tcg/cris/libc/check_addc.c
diff --git a/tests/tcg/cris/check_addcm.c b/tests/tcg/cris/libc/check_addcm.c
similarity index 100%
rename from tests/tcg/cris/check_addcm.c
rename to tests/tcg/cris/libc/check_addcm.c
diff --git a/tests/tcg/cris/check_addo.c b/tests/tcg/cris/libc/check_addo.c
similarity index 100%
rename from tests/tcg/cris/check_addo.c
rename to tests/tcg/cris/libc/check_addo.c
diff --git a/tests/tcg/cris/check_addoq.c b/tests/tcg/cris/libc/check_addoq.c
similarity index 100%
rename from tests/tcg/cris/check_addoq.c
rename to tests/tcg/cris/libc/check_addoq.c
diff --git a/tests/tcg/cris/check_bound.c b/tests/tcg/cris/libc/check_bound.c
similarity index 100%
rename from tests/tcg/cris/check_bound.c
rename to tests/tcg/cris/libc/check_bound.c
diff --git a/tests/tcg/cris/check_ftag.c b/tests/tcg/cris/libc/check_ftag.c
similarity index 100%
rename from tests/tcg/cris/check_ftag.c
rename to tests/tcg/cris/libc/check_ftag.c
diff --git a/tests/tcg/cris/check_gcctorture_pr28634-1.c b/tests/tcg/cris/libc/check_gcctorture_pr28634-1.c
similarity index 100%
rename from tests/tcg/cris/check_gcctorture_pr28634-1.c
rename to tests/tcg/cris/libc/check_gcctorture_pr28634-1.c
diff --git a/tests/tcg/cris/check_gcctorture_pr28634.c b/tests/tcg/cris/libc/check_gcctorture_pr28634.c
similarity index 100%
rename from tests/tcg/cris/check_gcctorture_pr28634.c
rename to tests/tcg/cris/libc/check_gcctorture_pr28634.c
diff --git a/tests/tcg/cris/check_glibc_kernelversion.c b/tests/tcg/cris/libc/check_glibc_kernelversion.c
similarity index 100%
rename from tests/tcg/cris/check_glibc_kernelversion.c
rename to tests/tcg/cris/libc/check_glibc_kernelversion.c
diff --git a/tests/tcg/cris/check_hello.c b/tests/tcg/cris/libc/check_hello.c
similarity index 100%
rename from tests/tcg/cris/check_hello.c
rename to tests/tcg/cris/libc/check_hello.c
diff --git a/tests/tcg/cris/check_int64.c b/tests/tcg/cris/libc/check_int64.c
similarity index 100%
rename from tests/tcg/cris/check_int64.c
rename to tests/tcg/cris/libc/check_int64.c
diff --git a/tests/tcg/cris/check_lz.c b/tests/tcg/cris/libc/check_lz.c
similarity index 100%
rename from tests/tcg/cris/check_lz.c
rename to tests/tcg/cris/libc/check_lz.c
diff --git a/tests/tcg/cris/check_mapbrk.c b/tests/tcg/cris/libc/check_mapbrk.c
similarity index 100%
rename from tests/tcg/cris/check_mapbrk.c
rename to tests/tcg/cris/libc/check_mapbrk.c
diff --git a/tests/tcg/cris/check_mmap1.c b/tests/tcg/cris/libc/check_mmap1.c
similarity index 100%
rename from tests/tcg/cris/check_mmap1.c
rename to tests/tcg/cris/libc/check_mmap1.c
diff --git a/tests/tcg/cris/check_mmap2.c b/tests/tcg/cris/libc/check_mmap2.c
similarity index 100%
rename from tests/tcg/cris/check_mmap2.c
rename to tests/tcg/cris/libc/check_mmap2.c
diff --git a/tests/tcg/cris/check_mmap3.c b/tests/tcg/cris/libc/check_mmap3.c
similarity index 100%
rename from tests/tcg/cris/check_mmap3.c
rename to tests/tcg/cris/libc/check_mmap3.c
diff --git a/tests/tcg/cris/check_moveq.c b/tests/tcg/cris/libc/check_moveq.c
similarity index 100%
rename from tests/tcg/cris/check_moveq.c
rename to tests/tcg/cris/libc/check_moveq.c
diff --git a/tests/tcg/cris/check_openpf1.c b/tests/tcg/cris/libc/check_openpf1.c
similarity index 100%
rename from tests/tcg/cris/check_openpf1.c
rename to tests/tcg/cris/libc/check_openpf1.c
diff --git a/tests/tcg/cris/check_openpf2.c b/tests/tcg/cris/libc/check_openpf2.c
similarity index 100%
rename from tests/tcg/cris/check_openpf2.c
rename to tests/tcg/cris/libc/check_openpf2.c
diff --git a/tests/tcg/cris/check_openpf3.c b/tests/tcg/cris/libc/check_openpf3.c
similarity index 100%
rename from tests/tcg/cris/check_openpf3.c
rename to tests/tcg/cris/libc/check_openpf3.c
diff --git a/tests/tcg/cris/check_openpf5.c b/tests/tcg/cris/libc/check_openpf5.c
similarity index 100%
rename from tests/tcg/cris/check_openpf5.c
rename to tests/tcg/cris/libc/check_openpf5.c
diff --git a/tests/tcg/cris/check_settls1.c b/tests/tcg/cris/libc/check_settls1.c
similarity index 100%
rename from tests/tcg/cris/check_settls1.c
rename to tests/tcg/cris/libc/check_settls1.c
diff --git a/tests/tcg/cris/check_sigalrm.c b/tests/tcg/cris/libc/check_sigalrm.c
similarity index 100%
rename from tests/tcg/cris/check_sigalrm.c
rename to tests/tcg/cris/libc/check_sigalrm.c
diff --git a/tests/tcg/cris/check_stat1.c b/tests/tcg/cris/libc/check_stat1.c
similarity index 100%
rename from tests/tcg/cris/check_stat1.c
rename to tests/tcg/cris/libc/check_stat1.c
diff --git a/tests/tcg/cris/check_stat2.c b/tests/tcg/cris/libc/check_stat2.c
similarity index 100%
rename from tests/tcg/cris/check_stat2.c
rename to tests/tcg/cris/libc/check_stat2.c
diff --git a/tests/tcg/cris/check_stat3.c b/tests/tcg/cris/libc/check_stat3.c
similarity index 100%
rename from tests/tcg/cris/check_stat3.c
rename to tests/tcg/cris/libc/check_stat3.c
diff --git a/tests/tcg/cris/check_stat4.c b/tests/tcg/cris/libc/check_stat4.c
similarity index 100%
rename from tests/tcg/cris/check_stat4.c
rename to tests/tcg/cris/libc/check_stat4.c
diff --git a/tests/tcg/cris/check_swap.c b/tests/tcg/cris/libc/check_swap.c
similarity index 100%
rename from tests/tcg/cris/check_swap.c
rename to tests/tcg/cris/libc/check_swap.c
diff --git a/tests/tcg/cris/check_time2.c b/tests/tcg/cris/libc/check_time2.c
similarity index 100%
rename from tests/tcg/cris/check_time2.c
rename to tests/tcg/cris/libc/check_time2.c
diff --git a/tests/tcg/cris/crisutils.h b/tests/tcg/cris/libc/crisutils.h
similarity index 100%
rename from tests/tcg/cris/crisutils.h
rename to tests/tcg/cris/libc/crisutils.h
diff --git a/tests/tcg/cris/sys.h b/tests/tcg/cris/libc/sys.h
similarity index 100%
rename from tests/tcg/cris/sys.h
rename to tests/tcg/cris/libc/sys.h
-- 
2.20.1


[Qemu-devel] [PULL 18/26] tests/tcg/cris: comment out the ccs test
Posted by Alex Bennée 6 years, 8 months ago
Evidently upstream gcc doesn't like this opcode.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

diff --git a/tests/tcg/cris/bare/check_btst.s b/tests/tcg/cris/bare/check_btst.s
index e39fc8f4d6..485deb2006 100644
--- a/tests/tcg/cris/bare/check_btst.s
+++ b/tests/tcg/cris/bare/check_btst.s
@@ -85,12 +85,12 @@
  checkr3 1111
 
  ; check that X gets cleared and that only the NZ flags are touched.
- move.d	0xff, $r0
- move $r0, $ccs
- btst r3,r3
- move $ccs, $r0
- and.d 0xff, $r0
- cmp.d	0xe3, $r0
- test_cc 0 1 0 0
+ ;; move.d	0xff, $r0
+ ;; move $r0, $ccs
+ ;; btst r3,r3
+ ;; move $ccs, $r0
+ ;; and.d 0xff, $r0
+ ;; cmp.d	0xe3, $r0
+ ;; test_cc 0 1 0 0
 
  quit
-- 
2.20.1


[Qemu-devel] [PULL 19/26] tests/tcg/cris: align mul operations
Posted by Alex Bennée 6 years, 8 months ago
To avoid:

  Error: dangerous MULS/MULU location; give it higher alignment

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

diff --git a/tests/tcg/cris/bare/check_mulx.s b/tests/tcg/cris/bare/check_mulx.s
index d43241a6f5..a7a1f82a82 100644
--- a/tests/tcg/cris/bare/check_mulx.s
+++ b/tests/tcg/cris/bare/check_mulx.s
@@ -3,6 +3,8 @@
 
  .include "testutils.inc"
  start
+
+ .align 4
  moveq -1,r3
  moveq 2,r4
  muls.d r4,r3
@@ -11,6 +13,7 @@
  move mof,r3
  checkr3 ffffffff
 
+ .align 4
  moveq -1,r3
  moveq 2,r4
  mulu.d r4,r3
@@ -19,6 +22,7 @@
  move mof,r3
  checkr3 1
 
+ .align 4
  moveq 2,r3
  moveq -1,r4
  muls.d r4,r3
@@ -27,6 +31,7 @@
  move mof,r3
  checkr3 ffffffff
 
+ .align 4
  moveq 2,r3
  moveq -1,r4
  mulu.d r4,r3
@@ -98,6 +103,7 @@
  checkr3 1fffe
  move mof,r3
  checkr3 0
+ nop
 
  moveq 2,r3
  move.d 0xffff,r4
@@ -138,6 +144,7 @@
  checkr3 fdbdade2
  move mof,r3
  checkr3 ffffffff
+ nop
 
  move.d 0x5432f789,r4
  move.d 0x78134452,r3
@@ -146,6 +153,7 @@
  checkr3 420fade2
  move mof,r3
  checkr3 0
+ nop
 
  move.d 0xff,r3
  moveq 2,r4
@@ -186,6 +194,7 @@
  checkr3 1
  move mof,r3
  checkr3 0
+ nop
 
  moveq -1,r4
  move.d r4,r3
@@ -194,6 +203,7 @@
  checkr3 fe01
  move mof,r3
  checkr3 0
+ nop
 
  move.d 0xfeda49ff,r4
  move.d r4,r3
@@ -202,6 +212,7 @@
  checkr3 1
  move mof,r3
  checkr3 0
+ nop
 
  move.d 0xfeda49ff,r4
  move.d r4,r3
-- 
2.20.1


[Qemu-devel] [PULL 23/26] tests/tcg/i386: add memory test to exercise softmmu
Posted by Alex Bennée 6 years, 8 months ago
This is a simple test to check various access patterns to memory
including unaligned access.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

diff --git a/tests/tcg/i386/system/memory.c b/tests/tcg/i386/system/memory.c
new file mode 100644
index 0000000000..a7a0a8e978
--- /dev/null
+++ b/tests/tcg/i386/system/memory.c
@@ -0,0 +1,243 @@
+/*
+ * Memory Test
+ *
+ * This is intended to test the softmmu code and ensure we properly
+ * behave across normal and unaligned accesses across several pages.
+ * We are not replicating memory tests for stuck bits and other
+ * hardware level failures but looking for issues with different size
+ * accesses when:
+
+ *
+ */
+
+#include <inttypes.h>
+#include <minilib.h>
+
+#define TEST_SIZE (4096 * 4)  /* 4 pages */
+
+static uint8_t test_data[TEST_SIZE];
+
+static void pdot(int count)
+{
+    if (count % 128 == 0) {
+        ml_printf(".");
+    }
+}
+
+
+/*
+ * Fill the data with ascending value bytes. As x86 is a LE machine we
+ * write in ascending order and then read and high byte should either
+ * be zero or higher than the lower bytes.
+ */
+
+static void init_test_data_u8(void)
+{
+    uint8_t count = 0, *ptr = &test_data[0];
+    int i;
+
+    ml_printf("Filling test area with u8:");
+    for (i = 0; i < TEST_SIZE; i++) {
+        *ptr++ = count++;
+        pdot(i);
+    }
+    ml_printf("done\n");
+}
+
+static void init_test_data_u16(int offset)
+{
+    uint8_t count = 0;
+    uint16_t word, *ptr = (uint16_t *) &test_data[0];
+    const int max = (TEST_SIZE - offset) / sizeof(word);
+    int i;
+
+    ml_printf("Filling test area with u16 (offset %d):", offset);
+
+    /* Leading zeros */
+    for (i = 0; i < offset; i++) {
+        *ptr = 0;
+    }
+
+    ptr = (uint16_t *) &test_data[offset];
+    for (i = 0; i < max; i++) {
+        uint8_t high, low;
+        low = count++;
+        high = count++;
+        word = (high << 8) | low;
+        *ptr++ = word;
+        pdot(i);
+    }
+    ml_printf("done\n");
+}
+
+static void init_test_data_u32(int offset)
+{
+    uint8_t count = 0;
+    uint32_t word, *ptr = (uint32_t *) &test_data[0];
+    const int max = (TEST_SIZE - offset) / sizeof(word);
+    int i;
+
+    ml_printf("Filling test area with u32 (offset %d):", offset);
+
+    /* Leading zeros */
+    for (i = 0; i < offset; i++) {
+        *ptr = 0;
+    }
+
+    ptr = (uint32_t *) &test_data[offset];
+    for (i = 0; i < max; i++) {
+        uint8_t b1, b2, b3, b4;
+        b4 = count++;
+        b3 = count++;
+        b2 = count++;
+        b1 = count++;
+        word = (b1 << 24) | (b2 << 16) | (b3 << 8) | b4;
+        *ptr++ = word;
+        pdot(i);
+    }
+    ml_printf("done\n");
+}
+
+
+static int read_test_data_u16(int offset)
+{
+    uint16_t word, *ptr = (uint16_t *)&test_data[offset];
+    int i;
+    const int max = (TEST_SIZE - offset) / sizeof(word);
+
+    ml_printf("Reading u16 from %#lx (offset %d):", ptr, offset);
+
+    for (i = 0; i < max; i++) {
+        uint8_t high, low;
+        word = *ptr++;
+        high = (word >> 8) & 0xff;
+        low = word & 0xff;
+        if (high < low && high != 0) {
+            ml_printf("Error %d < %d\n", high, low);
+            return 1;
+        } else {
+            pdot(i);
+        }
+
+    }
+    ml_printf("done\n");
+    return 0;
+}
+
+static int read_test_data_u32(int offset)
+{
+    uint32_t word, *ptr = (uint32_t *)&test_data[offset];
+    int i;
+    const int max = (TEST_SIZE - offset) / sizeof(word);
+
+    ml_printf("Reading u32 from %#lx (offset %d):", ptr, offset);
+
+    for (i = 0; i < max; i++) {
+        uint8_t b1, b2, b3, b4;
+        word = *ptr++;
+
+        b1 = word >> 24 & 0xff;
+        b2 = word >> 16 & 0xff;
+        b3 = word >> 8 & 0xff;
+        b4 = word & 0xff;
+
+        if ((b1 < b2 && b1 != 0) ||
+            (b2 < b3 && b2 != 0) ||
+            (b3 < b4 && b3 != 0)) {
+            ml_printf("Error %d, %d, %d, %d", b1, b2, b3, b4);
+            return 2;
+        } else {
+            pdot(i);
+        }
+    }
+    ml_printf("done\n");
+    return 0;
+}
+
+static int read_test_data_u64(int offset)
+{
+    uint64_t word, *ptr = (uint64_t *)&test_data[offset];
+    int i;
+    const int max = (TEST_SIZE - offset) / sizeof(word);
+
+    ml_printf("Reading u64 from %#lx (offset %d):", ptr, offset);
+
+    for (i = 0; i < max; i++) {
+        uint8_t b1, b2, b3, b4, b5, b6, b7, b8;
+        word = *ptr++;
+
+        b1 = ((uint64_t) (word >> 56)) & 0xff;
+        b2 = ((uint64_t) (word >> 48)) & 0xff;
+        b3 = ((uint64_t) (word >> 40)) & 0xff;
+        b4 = (word >> 32) & 0xff;
+        b5 = (word >> 24) & 0xff;
+        b6 = (word >> 16) & 0xff;
+        b7 = (word >> 8)  & 0xff;
+        b8 = (word >> 0)  & 0xff;
+
+        if ((b1 < b2 && b1 != 0) ||
+            (b2 < b3 && b2 != 0) ||
+            (b3 < b4 && b3 != 0) ||
+            (b4 < b5 && b4 != 0) ||
+            (b5 < b6 && b5 != 0) ||
+            (b6 < b7 && b6 != 0) ||
+            (b7 < b8 && b7 != 0)) {
+            ml_printf("Error %d, %d, %d, %d, %d, %d, %d, %d",
+                      b1, b2, b3, b4, b5, b6, b7, b8);
+            return 2;
+        } else {
+            pdot(i);
+        }
+    }
+    ml_printf("done\n");
+    return 0;
+}
+
+/* Read the test data and verify at various offsets */
+int do_reads(void)
+{
+    int r = 0;
+    int off = 0;
+
+    while (r == 0 && off < 8) {
+        r = read_test_data_u16(off);
+        r |= read_test_data_u32(off);
+        r |= read_test_data_u64(off);
+        off++;
+    }
+
+    return r;
+}
+
+int main(void)
+{
+    int i, r = 0;
+
+
+    init_test_data_u8();
+    r = do_reads();
+    if (r) {
+        return r;
+    }
+
+    for (i = 0; i < 8; i++) {
+        init_test_data_u16(i);
+
+        r = do_reads();
+        if (r) {
+            return r;
+        }
+    }
+
+    for (i = 0; i < 8; i++) {
+        init_test_data_u32(i);
+
+        r = do_reads();
+        if (r) {
+            return r;
+        }
+    }
+
+    ml_printf("Test complete: %s\n", r == 0 ? "PASSED" : "FAILED");
+    return r;
+}
-- 
2.20.1


[Qemu-devel] [PULL 24/26] tests/tcg/arm: account for pauth randomness
Posted by Alex Bennée 6 years, 8 months ago
Pointer authentication isn't guaranteed to always detect a clash
between different keys. Take this into account in the test by running
several times and checking the percentage hit rate of the test.

Cc: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

diff --git a/tests/tcg/aarch64/pauth-1.c b/tests/tcg/aarch64/pauth-1.c
index ae6dc05c2b..a3c1443cd0 100644
--- a/tests/tcg/aarch64/pauth-1.c
+++ b/tests/tcg/aarch64/pauth-1.c
@@ -1,5 +1,6 @@
 #include <assert.h>
 #include <sys/prctl.h>
+#include <stdio.h>
 
 asm(".arch armv8.4-a");
 
@@ -8,16 +9,29 @@ asm(".arch armv8.4-a");
 #define PR_PAC_APDAKEY     (1 << 2)
 #endif
 
+#define TESTS 1000
+
 int main()
 {
-    int x;
+    int x, i, count = 0;
     void *p0 = &x, *p1, *p2;
+    float perc;
+
+    for (i = 0; i < TESTS; i++) {
+        asm volatile("pacdza %0" : "=r"(p1) : "0"(p0));
+        prctl(PR_PAC_RESET_KEYS, PR_PAC_APDAKEY, 0, 0, 0);
+        asm volatile("pacdza %0" : "=r"(p2) : "0"(p0));
 
-    asm volatile("pacdza %0" : "=r"(p1) : "0"(p0));
-    prctl(PR_PAC_RESET_KEYS, PR_PAC_APDAKEY, 0, 0, 0);
-    asm volatile("pacdza %0" : "=r"(p2) : "0"(p0));
+        if (p1 != p0) {
+            count++;
+        }
+        if (p1 != p2) {
+            count++;
+        }
+    }
 
-    assert(p1 != p0);
-    assert(p1 != p2);
+    perc = (float) count / (float) (TESTS * 2);
+    printf("Ptr Check: %0.2f%%", perc * 100.0);
+    assert(perc > 0.95);
     return 0;
 }
-- 
2.20.1


[Qemu-devel] [PULL 26/26] .travis.yml: add softmmu check-tcg tests
Posted by Alex Bennée 6 years, 8 months ago
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

diff --git a/.travis.yml b/.travis.yml
index b02e7318c1..980fc5c1eb 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -265,6 +265,12 @@ matrix:
         - ./configure ${CONFIG} --extra-cflags="-g3 -O0 -fsanitize=thread -fuse-ld=gold" || { cat config.log && exit 1; }
 
 
+    # Run check-tcg against linux-user
     - env:
         - CONFIG="--disable-system"
         - TEST_CMD="make -j3 check-tcg V=1"
+
+    # Run check-tcg against softmmu targets
+    - env:
+        - CONFIG="--target-list=xtensa-softmmu,arm-softmmu"
+        - TEST_CMD="make -j3 check-tcg V=1"
-- 
2.20.1