[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
- [Qemu-arm] [PATCH v5 00/15] demacro softmmu (plus tests/coverage),
Alex Bennée <=
- [Qemu-arm] [PATCH v5 14/15] Makefile: include per-target build directories in coverage report, Alex Bennée, 2019/04/30
- [Qemu-arm] [PATCH v5 13/15] Makefile: fix coverage-report reference to BUILD_DIR, Alex Bennée, 2019/04/30
- [Qemu-arm] [PATCH v5 15/15] Makefile.target: support per-target coverage reports, Alex Bennée, 2019/04/30
- [Qemu-arm] [PATCH v5 11/15] cputlb: Do unaligned load recursion to outermost function, Alex Bennée, 2019/04/30
- [Qemu-arm] [PATCH v5 09/15] accel/tcg: remove softmmu_template.h, Alex Bennée, 2019/04/30
- [Qemu-arm] [PATCH v5 08/15] cputlb: Move TLB_RECHECK handling into load/store_helper, Alex Bennée, 2019/04/30
- [Qemu-arm] [PATCH v5 07/15] accel/tcg: demacro cputlb, Alex Bennée, 2019/04/30
- [Qemu-arm] [PATCH v5 10/15] cputlb: Drop attribute flatten, Alex Bennée, 2019/04/30
- [Qemu-arm] [PATCH v5 05/15] tests/tcg/minilib: support %c format char, Alex Bennée, 2019/04/30
- [Qemu-arm] [PATCH v5 02/15] tests/tcg/multiarch: add hello world system test, Alex Bennée, 2019/04/30