cpu: Remove the "SingleThreaded" fetch policy from the O3 CPU.
authorGabe Black <gabeblack@google.com>
Mon, 12 Oct 2020 00:03:50 +0000 (17:03 -0700)
committerGabe Black <gabeblack@google.com>
Tue, 13 Oct 2020 20:09:21 +0000 (20:09 +0000)
commit539247a4c76bc648e5128e5722935c8bdcb83d04
treecdef093951e6ef86687efd40b4698a5d6268b3c0
parent7681fd2eddfbfdd5e4346b2950fd14c28ed1d387
cpu: Remove the "SingleThreaded" fetch policy from the O3 CPU.

The fetch policy is only meaningful for SMT simulations. The
"SingleThreaded" value is a placeholder which is the default, and is
only supposed to be used in non-SMT simulations.

Rather than have this enum value and have special checks for it in
various places in O3, we can just eliminate it and set the default,
which is still only meaningful in SMT simulations, be an SMT fetch
policy.

The DerivO3CPUParams::create() function would forcefully change the
the fetch policy from "SingleThreaded" to "RoundRobin" anyway if there
were more than one thread, so that can be the actual default instead of
the shadow effective default.

Change-Id: I458fda00b5bcc246b0957e6c937eab0c5b4563c3
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/35935
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
src/cpu/o3/O3CPU.py
src/cpu/o3/deriv.cc
src/cpu/o3/fetch.hh
src/cpu/o3/fetch_impl.hh