summaryrefslogtreecommitdiff
path: root/src/cpu/thread_state.hh
diff options
context:
space:
mode:
authorLisa Hsu <hsul@eecs.umich.edu>2008-11-02 21:57:07 -0500
committerLisa Hsu <hsul@eecs.umich.edu>2008-11-02 21:57:07 -0500
commitd857faf073895dcfde97141bd6346fe5d4317f8e (patch)
treebfcd9fadba95b409721597948dd46cfda3744ee0 /src/cpu/thread_state.hh
parent67fda02dda290d614de233846fee434b3713b1dc (diff)
downloadgem5-d857faf073895dcfde97141bd6346fe5d4317f8e.tar.xz
Add in Context IDs to the simulator. From now on, cpuId is almost never used,
the primary identifier for a hardware context should be contextId(). The concept of threads within a CPU remains, in the form of threadId() because sometimes you need to know which context within a cpu to manipulate.
Diffstat (limited to 'src/cpu/thread_state.hh')
-rw-r--r--src/cpu/thread_state.hh7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/cpu/thread_state.hh b/src/cpu/thread_state.hh
index f3f154de3..fdb2ab0ab 100644
--- a/src/cpu/thread_state.hh
+++ b/src/cpu/thread_state.hh
@@ -80,6 +80,10 @@ struct ThreadState {
int cpuId() { return baseCpu->cpuId(); }
+ int contextId() { return _contextId; }
+
+ void setContextId(int id) { _contextId = id; }
+
void setTid(int id) { tid = id; }
int readTid() { return tid; }
@@ -169,6 +173,9 @@ struct ThreadState {
// Pointer to the base CPU.
BaseCPU *baseCpu;
+ // system wide HW context id
+ int _contextId;
+
// Index of hardware thread context on the CPU that this represents.
int tid;