From ed8b7f2e310ce8828cd98caa8eb895d99da6f7ef Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Fri, 5 Jan 2018 15:40:47 -0800 Subject: 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 Maintainer: Gabe Black --- src/cpu/base_dyn_inst.hh | 4 ++++ 1 file changed, 4 insertions(+) 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; } + //////////////////////////////////////////// // -- cgit v1.2.3