[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