arch: cpu: Track kernel stats using the base ISA agnostic type.
authorGabe Black <gabeblack@google.com>
Sun, 28 Apr 2019 02:51:20 +0000 (19:51 -0700)
committerGabe Black <gabeblack@google.com>
Tue, 30 Apr 2019 03:49:40 +0000 (03:49 +0000)
commiteea1fb6fc887e523f23cd3141869da59e7047c55
tree4b82d9aa743f48c18e9373ffe19254e89012550a
parentf9b72476fd948cde713f145834fba81574b0fde0
arch: cpu: Track kernel stats using the base ISA agnostic type.

Then cast to the ISA specific type when necessary. This removes
(mostly) an ISA specific aspect to some of the interfaces. The ISA
specific version of the kernel stats still needs to be constructed and
stored in a few places which means that kernel_stats.hh still needs to
be a switching arch header, for instance.

In the future, I'd like to make the kernel its own object like the
Process objects in SE mode, and then it would be able to instantiate
and maintain its own stats.

Change-Id: I8309d49019124f6bea1482aaea5b5b34e8c97433
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/18429
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
15 files changed:
src/arch/alpha/ev5.cc
src/arch/alpha/idle_event.cc
src/cpu/checker/cpu.cc
src/cpu/checker/thread_context.hh
src/cpu/o3/cpu.cc
src/cpu/o3/regfile.hh
src/cpu/o3/thread_context.hh
src/cpu/simple/base.cc
src/cpu/simple_thread.hh
src/cpu/thread_context.cc
src/cpu/thread_context.hh
src/cpu/thread_state.cc
src/cpu/thread_state.hh
src/kern/kernel_stats.hh
src/sim/pseudo_inst.cc