gem5/src/cpu/minor
Mitch Hayenga 752f1c1fe9 cpu: Fix Minor SMT WFI/drain interaction issues
The behavior of WFI is to cause minor to cease evaluating
pipeline logic until an interrupt is observed, however
a user may wish to drain the system while a core is sleeping
due to a WFI.  This patch makes WFI drain.  If an actual
drain occurs during a WFI, the CPU is already drained and will
immediately be ready for swapping, checkpointing, etc.  This
should not negatively impact performance as WFI instructions
are 'stream-changing' (treated like unpredicted branches), so
all remaining instructions are wrong-path and will be squashed
rapidly.

Change-Id: I63833d5acb53d8dde78f9f0c9611de0ece385e45
2016-07-21 17:19:16 +01:00
..
activity.cc cpu: `Minor' in-order CPU model 2014-07-23 16:09:04 -05:00
activity.hh cpu: `Minor' in-order CPU model 2014-07-23 16:09:04 -05:00
buffers.hh cpu: `Minor' in-order CPU model 2014-07-23 16:09:04 -05:00
cpu.cc cpu: Add SMT support to MinorCPU 2016-07-21 17:19:16 +01:00
cpu.hh cpu: Add SMT support to MinorCPU 2016-07-21 17:19:16 +01:00
decode.cc cpu: Fix Minor SMT WFI/drain interaction issues 2016-07-21 17:19:16 +01:00
decode.hh cpu: Add SMT support to MinorCPU 2016-07-21 17:19:16 +01:00
dyn_inst.cc cpu: Add SMT support to MinorCPU 2016-07-21 17:19:16 +01:00
dyn_inst.hh cpu: `Minor' in-order CPU model 2014-07-23 16:09:04 -05:00
exec_context.hh cpu: Add SMT support to MinorCPU 2016-07-21 17:19:16 +01:00
execute.cc cpu: Fix Minor SMT WFI/drain interaction issues 2016-07-21 17:19:16 +01:00
execute.hh cpu: Add SMT support to MinorCPU 2016-07-21 17:19:16 +01:00
fetch1.cc cpu: Fix Minor SMT WFI/drain interaction issues 2016-07-21 17:19:16 +01:00
fetch1.hh cpu: Add SMT support to MinorCPU 2016-07-21 17:19:16 +01:00
fetch2.cc cpu: Fix Minor SMT WFI/drain interaction issues 2016-07-21 17:19:16 +01:00
fetch2.hh cpu: Add SMT support to MinorCPU 2016-07-21 17:19:16 +01:00
func_unit.cc misc: Add explicit overrides and fix other clang >= 3.5 issues 2015-10-12 04:08:01 -04:00
func_unit.hh arch: Use const StaticInstPtr references where possible 2014-09-27 09:08:36 -04:00
lsq.cc cpu: Add SMT support to MinorCPU 2016-07-21 17:19:16 +01:00
lsq.hh cpu: Add SMT support to MinorCPU 2016-07-21 17:19:16 +01:00
MinorCPU.py cpu: Add SMT support to MinorCPU 2016-07-21 17:19:16 +01:00
pipe_data.cc cpu: Add SMT support to MinorCPU 2016-07-21 17:19:16 +01:00
pipe_data.hh cpu: Add SMT support to MinorCPU 2016-07-21 17:19:16 +01:00
pipeline.cc cpu: Add SMT support to MinorCPU 2016-07-21 17:19:16 +01:00
pipeline.hh cpu: Add SMT support to MinorCPU 2016-07-21 17:19:16 +01:00
SConscript cpu: `Minor' in-order CPU model 2014-07-23 16:09:04 -05:00
SConsopts arch, cpu: Factor out the ExecContext into a proper base class 2014-09-03 07:42:22 -04:00
scoreboard.cc revert 5af8f40d8f2c 2015-07-28 01:58:04 -05:00
scoreboard.hh revert 5af8f40d8f2c 2015-07-28 01:58:04 -05:00
stats.cc cpu: Add instruction opclass histogram to minor 2016-04-05 08:08:12 -05:00
stats.hh cpu: Add instruction opclass histogram to minor 2016-04-05 08:08:12 -05:00
trace.hh cpu: `Minor' in-order CPU model 2014-07-23 16:09:04 -05:00