qemu-devel
[Top][All Lists]
Advanced

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

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


From: Alex Bennée
Subject: Re: [Qemu-devel] [PATCH v5 00/15] demacro softmmu (plus tests/coverage)
Date: Fri, 10 May 2019 11:36:33 +0100
User-agent: mu4e 1.3.1; emacs 26.1

Alex Bennée <address@hidden> writes:

> Hi,
>
> This is the latest iteration of the softmmu demacro series. The main
> changes from the last submission are some updates from Richard.

Ping Emilio/Mark

Would you be able to re-run your tests to check there are no other
regressions? I can then get the PR prepared for merging ;-)

> 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


--
Alex Bennée



reply via email to

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