[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC v5 3/4] cpu-timers, icount: new modules
From: |
Alex Bennée |
Subject: |
Re: [RFC v5 3/4] cpu-timers, icount: new modules |
Date: |
Tue, 16 Jun 2020 14:58:58 +0100 |
User-agent: |
mu4e 1.5.3; emacs 28.0.50 |
Claudio Fontana <cfontana@suse.de> writes:
> refactoring of cpus.c continues with cpu timer state extraction.
>
> cpu-timers: responsible for the cpu timers state, and for access to
> cpu clocks and ticks.
>
> icount: counts the TCG instructions executed. As such it is specific to
> the TCG accelerator. Therefore, it is built only under CONFIG_TCG.
>
> One complication is due to qtest, which misuses icount to warp time
> (qtest_clock_warp). In order to solve this problem, detach instead qtest
> from icount, and use a trivial separate counter for it.
>
> This requires fixing assumptions scattered in the code that
> qtest_enabled() implies icount_enabled().
>
> No functionality change.
>
> Signed-off-by: Claudio Fontana <cfontana@suse.de>
> ---
> MAINTAINERS | 2 +
> accel/qtest.c | 6 +-
> accel/tcg/cpu-exec.c | 43 ++-
> accel/tcg/tcg-all.c | 7 +-
> accel/tcg/translate-all.c | 3 +-
> docs/replay.txt | 6 +-
> exec.c | 4 -
> hw/core/ptimer.c | 8 +-
> hw/i386/x86.c | 1 +
> include/exec/cpu-all.h | 4 +
> include/exec/exec-all.h | 4 +-
> include/qemu/timer.h | 22 +-
> include/sysemu/cpu-timers.h | 81 +++++
> include/sysemu/cpus.h | 12 +-
> include/sysemu/qtest.h | 2 +
> include/sysemu/replay.h | 4 +-
> replay/replay.c | 6 +-
> softmmu/Makefile.objs | 2 +
> softmmu/cpu-timers.c | 284 ++++++++++++++++
> softmmu/cpus.c | 750
> +------------------------------------------
> softmmu/icount.c | 499 ++++++++++++++++++++++++++++
> softmmu/qtest.c | 34 +-
> softmmu/timers-state.h | 69 ++++
> softmmu/vl.c | 8 +-
> stubs/Makefile.objs | 3 +-
> stubs/clock-warp.c | 4 +-
> stubs/cpu-get-clock.c | 3 +-
> stubs/cpu-get-icount.c | 21 --
> stubs/icount.c | 22 ++
> stubs/qemu-timer-notify-cb.c | 8 +
> stubs/qtest.c | 5 +
> target/alpha/translate.c | 3 +-
> target/arm/helper.c | 7 +-
> target/riscv/csr.c | 8 +-
> tests/ptimer-test-stubs.c | 7 +-
> tests/test-timed-average.c | 2 +-
> util/main-loop.c | 4 +-
> util/qemu-timer.c | 12 +-
> 38 files changed, 1119 insertions(+), 851 deletions(-)
Ooof this seems a little big for comfort but maybe that can't be
avoided. Certainly doesn't seem to break anything:
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
--
Alex Bennée
- [RFC v5 1/4] softmmu: move softmmu only files from root, (continued)
[RFC v5 3/4] cpu-timers, icount: new modules, Claudio Fontana, 2020/06/15
- Re: [RFC v5 3/4] cpu-timers, icount: new modules,
Alex Bennée <=