summaryrefslogtreecommitdiff
path: root/cpu/exec_context.hh
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2006-03-02 21:44:43 -0500
committerGabe Black <gblack@eecs.umich.edu>2006-03-02 21:44:43 -0500
commitdd0d8e628742c824cd5074433dc97ff7ebd92497 (patch)
tree1e905144a1b0d4cae4859b17f9f2d335f3c67b11 /cpu/exec_context.hh
parent6b7d62790399f3ff675e5d37a25c320aa068897a (diff)
parent0fed64a6a47a62a94a53c5f41ac89b34a2fd6786 (diff)
downloadgem5-dd0d8e628742c824cd5074433dc97ff7ebd92497.tar.xz
Merge gblack@m5.eecs.umich.edu:/bk/multiarch
into ewok.(none):/home/gblack/m5/multiarch --HG-- extra : convert_revision : f6db244a66431dd6b8c5ba251ed02d76cd509cff
Diffstat (limited to 'cpu/exec_context.hh')
-rw-r--r--cpu/exec_context.hh22
1 files changed, 21 insertions, 1 deletions
diff --git a/cpu/exec_context.hh b/cpu/exec_context.hh
index 033d3d30a..bc3551b4f 100644
--- a/cpu/exec_context.hh
+++ b/cpu/exec_context.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001-2005 The Regents of The University of Michigan
+ * Copyright (c) 2001-2006 The Regents of The University of Michigan
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -32,6 +32,7 @@
#include "config/full_system.hh"
#include "mem/functional/functional.hh"
#include "mem/mem_req.hh"
+#include "sim/eventq.hh"
#include "sim/host.hh"
#include "sim/serialize.hh"
#include "arch/isa_traits.hh"
@@ -132,6 +133,9 @@ class ExecContext
// it belongs. For full-system mode, this is the system CPU ID.
int cpu_id;
+ Tick lastActivate;
+ Tick lastSuspend;
+
#if FULL_SYSTEM
FunctionalMemory *mem;
AlphaITB *itb;
@@ -154,6 +158,22 @@ class ExecContext
Addr profilePC;
void dumpFuncProfile();
+ /** Event for timing out quiesce instruction */
+ struct EndQuiesceEvent : public Event
+ {
+ /** A pointer to the execution context that is quiesced */
+ ExecContext *xc;
+
+ EndQuiesceEvent(ExecContext *_xc);
+
+ /** Event process to occur at interrupt*/
+ virtual void process();
+
+ /** Event description */
+ virtual const char *description();
+ };
+ EndQuiesceEvent quiesceEvent;
+
#else
Process *process;