summaryrefslogtreecommitdiff
path: root/src/sim/insttracer.hh
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2009-01-06 22:34:18 -0800
committerGabe Black <gblack@eecs.umich.edu>2009-01-06 22:34:18 -0800
commitb0ab5c894d84d4522cae3a254158e47ba112909c (patch)
tree6b4992716c89628ae0860e12d0567b61e4280160 /src/sim/insttracer.hh
parent2adc60795b0e21d46f983293b3b71b48ee105c14 (diff)
downloadgem5-b0ab5c894d84d4522cae3a254158e47ba112909c.tar.xz
Tracing: Make tracing aware of macro and micro ops.
Diffstat (limited to 'src/sim/insttracer.hh')
-rw-r--r--src/sim/insttracer.hh13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/sim/insttracer.hh b/src/sim/insttracer.hh
index 39a5536b0..9fb5f9f22 100644
--- a/src/sim/insttracer.hh
+++ b/src/sim/insttracer.hh
@@ -55,6 +55,8 @@ class InstRecord
// dump the record
StaticInstPtr staticInst;
Addr PC;
+ StaticInstPtr macroStaticInst;
+ MicroPC upc;
bool misspeculating;
// The remaining fields are only valid for particular instruction
@@ -86,10 +88,13 @@ class InstRecord
public:
InstRecord(Tick _when, ThreadContext *_thread,
- const StaticInstPtr &_staticInst,
- Addr _pc, bool spec)
+ const StaticInstPtr _staticInst,
+ Addr _pc, bool spec,
+ const StaticInstPtr _macroStaticInst = NULL,
+ MicroPC _upc = 0)
: when(_when), thread(_thread),
staticInst(_staticInst), PC(_pc),
+ macroStaticInst(_macroStaticInst), upc(_upc),
misspeculating(spec)
{
data_status = DataInvalid;
@@ -137,7 +142,9 @@ class InstTracer : public SimObject
virtual InstRecord *
getInstRecord(Tick when, ThreadContext *tc,
- const StaticInstPtr staticInst, Addr pc) = 0;
+ const StaticInstPtr staticInst, Addr pc,
+ const StaticInstPtr macroStaticInst = NULL,
+ MicroPC _upc = 0) = 0;
};