qemu-arm
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-arm] [PATCH v5 00/15] demacro softmmu (plus tests/coverage)


From: Alex Bennée
Subject: [Qemu-arm] [PATCH v5 00/15] demacro softmmu (plus tests/coverage)
Date: Tue, 30 Apr 2019 17:52:19 +0100

Hi,

This is the latest iteration of the softmmu demacro series. The main
changes from the last submission are some updates from Richard. Some
are merged into the main demacro patch (mostly casting cleanups) and
then a series of 3 patches to out of line some of the less hot code to
keep the main access functions a reasonable size. For example:

  readelf -s aarch64-softmmu/accel/tcg/cputlb.o | ag helper |\
    ag -v atomic | ag mmu | tr -s ' ' | cut -d ' ' -f 4,9 | sort -n

Before:

  16 helper_be_ldsl_mmu
  16 helper_le_ldsl_mmu
  18 helper_be_ldsw_mmu
  18 helper_le_ldsw_mmu
  18 helper_ret_ldsb_mmu
  535 helper_ret_ldub_mmu
  556 helper_ret_ldb_cmmu
  586 helper_ret_stb_mmu
  679 helper_le_ldul_mmu
  681 helper_be_ldul_mmu
  685 helper_le_ldq_mmu
  688 helper_be_ldq_mmu
  688 helper_le_lduw_mmu
  693 helper_le_ldl_cmmu
  701 helper_le_ldq_cmmu
  701 helper_le_ldw_cmmu
  703 helper_be_ldl_cmmu
  704 helper_be_ldq_cmmu
  708 helper_be_lduw_mmu
  713 helper_be_ldw_cmmu
  943 helper_le_stw_mmu
  944 helper_le_stl_mmu
  952 helper_be_stl_mmu
  952 helper_le_stq_mmu
  959 helper_be_stw_mmu
  960 helper_be_stq_mmu

After:

  5 helper_be_ldul_mmu
  5 helper_be_lduw_mmu
  5 helper_le_ldul_mmu
  5 helper_le_lduw_mmu
  5 helper_ret_ldub_mmu
  14 helper_be_ldl_cmmu
  14 helper_be_ldw_cmmu
  14 helper_le_ldl_cmmu
  14 helper_le_ldw_cmmu
  16 helper_be_ldsl_mmu
  16 helper_le_ldsl_mmu
  18 helper_be_ldsw_mmu
  18 helper_le_ldsw_mmu
  18 helper_ret_ldsb_mmu
  783 helper_ret_stb_mmu
  785 helper_ret_ldb_cmmu
  881 helper_be_ldq_mmu
  881 helper_le_ldq_mmu
  889 helper_le_ldq_cmmu
  897 helper_be_ldq_cmmu
  1150 helper_be_stw_mmu
  1150 helper_le_stw_mmu
  1151 helper_be_stq_mmu
  1151 helper_le_stl_mmu
  1151 helper_le_stq_mmu
  1159 helper_be_stl_mmu

I've also moved the existing system memory test and made it multiarch
and added the bootstrapping for aarch64 system tests. I would like to
add support for Big Endian as well but I didn't want to delay the
posting of the series. It would also be nice to exercise the
ioread/write paths and other handling but I leave this as an exercise
for later.

There are also some minor tweaks for the code coverage reports now I'm
running with out-of-tree builds.

Alex Bennée (11):
  tests/tcg/multiarch: add support for multiarch system tests
  tests/tcg/multiarch: add hello world system test
  tests/tcg/aarch64: add system boot.S
  tests/tcg/multiarch: move the system memory test
  tests/tcg/minilib: support %c format char
  tests/tcg/multiarch: expand system memory test to cover more
  accel/tcg: demacro cputlb
  accel/tcg: remove softmmu_template.h
  Makefile: fix coverage-report reference to BUILD_DIR
  Makefile: include per-target build directories in coverage report
  Makefile.target: support per-target coverage reports

Richard Henderson (4):
  cputlb: Move TLB_RECHECK handling into load/store_helper
  cputlb: Drop attribute flatten
  cputlb: Do unaligned load recursion to outermost function
  cputlb: Do unaligned store recursion to outermost function

 Makefile                                      |   4 +-
 Makefile.target                               |  16 +
 accel/tcg/cputlb.c                            | 626 +++++++++++++++---
 accel/tcg/softmmu_template.h                  | 454 -------------
 tests/tcg/Makefile                            |   1 +
 tests/tcg/aarch64/Makefile.softmmu-target     |  32 +
 tests/tcg/aarch64/system/boot.S               | 200 ++++++
 tests/tcg/aarch64/system/kernel.ld            |  22 +
 tests/tcg/i386/Makefile.softmmu-target        |   2 +-
 tests/tcg/i386/system/memory.c                | 243 -------
 tests/tcg/minilib/printf.c                    |   6 +-
 .../multiarch/system/Makefile.softmmu-target  |  14 +
 tests/tcg/{i386 => multiarch}/system/hello.c  |   0
 tests/tcg/multiarch/system/memory.c           | 427 ++++++++++++
 14 files changed, 1267 insertions(+), 780 deletions(-)
 delete mode 100644 accel/tcg/softmmu_template.h
 create mode 100644 tests/tcg/aarch64/Makefile.softmmu-target
 create mode 100644 tests/tcg/aarch64/system/boot.S
 create mode 100644 tests/tcg/aarch64/system/kernel.ld
 delete mode 100644 tests/tcg/i386/system/memory.c
 create mode 100644 tests/tcg/multiarch/system/Makefile.softmmu-target
 rename tests/tcg/{i386 => multiarch}/system/hello.c (100%)
 create mode 100644 tests/tcg/multiarch/system/memory.c

-- 
2.20.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]