summaryrefslogtreecommitdiff
path: root/src/cpu
diff options
context:
space:
mode:
authorGabe Black <gabeblack@google.com>2018-01-05 15:40:47 -0800
committerGabe Black <gabeblack@google.com>2018-01-09 03:03:04 +0000
commited8b7f2e310ce8828cd98caa8eb895d99da6f7ef (patch)
tree2085abb4042c4b6f9e89992fed86e8cf12e3ff9c /src/cpu
parentb52ea6e98cb27c97aeea1085c4f5fdcbbdf66f0c (diff)
downloadgem5-ed8b7f2e310ce8828cd98caa8eb895d99da6f7ef.tar.xz
cpu: Add a NotAnInst flag to the BaseDynInst class.
This flag means that the instruction isn't an actual instruction, it's just a placeholder to carry a fault down a pipeline, for instance. Change-Id: I1cc12b068662dbd3d3b089c9941a07b6e88b57e3 Reviewed-on: https://gem5-review.googlesource.com/7123 Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Maintainer: Gabe Black <gabeblack@google.com>
Diffstat (limited to 'src/cpu')
-rw-r--r--src/cpu/base_dyn_inst.hh4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/cpu/base_dyn_inst.hh b/src/cpu/base_dyn_inst.hh
index 127b0629c..ae408e3fb 100644
--- a/src/cpu/base_dyn_inst.hh
+++ b/src/cpu/base_dyn_inst.hh
@@ -124,6 +124,7 @@ class BaseDynInst : public ExecContext, public RefCounted
};
enum Flags {
+ NotAnInst,
TranslationStarted,
TranslationCompleted,
PossibleLoadViolation,
@@ -274,6 +275,9 @@ class BaseDynInst : public ExecContext, public RefCounted
bool memOpDone() const { return instFlags[MemOpDone]; }
void memOpDone(bool f) { instFlags[MemOpDone] = f; }
+ bool notAnInst() const { return instFlags[NotAnInst]; }
+ void setNotAnInst() { instFlags[NotAnInst] = true; }
+
////////////////////////////////////////////
//