thread_context.hh (8767:e575781f71b8) thread_context.hh (8793:5f25086326ac)
1/*
2 * Copyright (c) 2006 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

--- 75 unchanged lines hidden (view full) ---

84 }
85
86 int cpuId() { return actualTC->cpuId(); }
87
88 TheISA::TLB *getITBPtr() { return actualTC->getITBPtr(); }
89
90 TheISA::TLB *getDTBPtr() { return actualTC->getDTBPtr(); }
91
1/*
2 * Copyright (c) 2006 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

--- 75 unchanged lines hidden (view full) ---

84 }
85
86 int cpuId() { return actualTC->cpuId(); }
87
88 TheISA::TLB *getITBPtr() { return actualTC->getITBPtr(); }
89
90 TheISA::TLB *getDTBPtr() { return actualTC->getDTBPtr(); }
91
92#if FULL_SYSTEM
93 System *getSystemPtr() { return actualTC->getSystemPtr(); }
94
95 PhysicalMemory *getPhysMemPtr() { return actualTC->getPhysMemPtr(); }
96
97 TheISA::Kernel::Statistics *getKernelStats()
98 { return actualTC->getKernelStats(); }
92 System *getSystemPtr() { return actualTC->getSystemPtr(); }
93
94 PhysicalMemory *getPhysMemPtr() { return actualTC->getPhysMemPtr(); }
95
96 TheISA::Kernel::Statistics *getKernelStats()
97 { return actualTC->getKernelStats(); }
99#endif
98
100 Process *getProcessPtr() { return actualTC->getProcessPtr(); }
101
102 TranslatingPort *getMemPort() { return actualTC->getMemPort(); }
103
104 VirtualPort *getVirtPort()
105 { return actualTC->getVirtPort(); }
106
107 FunctionalPort *getPhysPort() { return actualTC->getPhysPort(); }

--- 11 unchanged lines hidden (view full) ---

119 void activate(int delay = 1) { actualTC->activate(delay); }
120
121 /// Set the status to Suspended.
122 void suspend() { actualTC->suspend(); }
123
124 /// Set the status to Halted.
125 void halt() { actualTC->halt(); }
126
99 Process *getProcessPtr() { return actualTC->getProcessPtr(); }
100
101 TranslatingPort *getMemPort() { return actualTC->getMemPort(); }
102
103 VirtualPort *getVirtPort()
104 { return actualTC->getVirtPort(); }
105
106 FunctionalPort *getPhysPort() { return actualTC->getPhysPort(); }

--- 11 unchanged lines hidden (view full) ---

118 void activate(int delay = 1) { actualTC->activate(delay); }
119
120 /// Set the status to Suspended.
121 void suspend() { actualTC->suspend(); }
122
123 /// Set the status to Halted.
124 void halt() { actualTC->halt(); }
125
127#if FULL_SYSTEM
128 void dumpFuncProfile() { actualTC->dumpFuncProfile(); }
126 void dumpFuncProfile() { actualTC->dumpFuncProfile(); }
129#endif
130
131 void takeOverFrom(ThreadContext *oldContext)
132 {
133 actualTC->takeOverFrom(oldContext);
134 checkerTC->copyState(oldContext);
135 }
136
137 void regStats(const std::string &name) { actualTC->regStats(name); }
138
139 void serialize(std::ostream &os) { actualTC->serialize(os); }
140 void unserialize(Checkpoint *cp, const std::string &section)
141 { actualTC->unserialize(cp, section); }
142
127
128 void takeOverFrom(ThreadContext *oldContext)
129 {
130 actualTC->takeOverFrom(oldContext);
131 checkerTC->copyState(oldContext);
132 }
133
134 void regStats(const std::string &name) { actualTC->regStats(name); }
135
136 void serialize(std::ostream &os) { actualTC->serialize(os); }
137 void unserialize(Checkpoint *cp, const std::string &section)
138 { actualTC->unserialize(cp, section); }
139
143#if FULL_SYSTEM
144 EndQuiesceEvent *getQuiesceEvent() { return actualTC->getQuiesceEvent(); }
145
146 Tick readLastActivate() { return actualTC->readLastActivate(); }
147 Tick readLastSuspend() { return actualTC->readLastSuspend(); }
148
149 void profileClear() { return actualTC->profileClear(); }
150 void profileSample() { return actualTC->profileSample(); }
140 EndQuiesceEvent *getQuiesceEvent() { return actualTC->getQuiesceEvent(); }
141
142 Tick readLastActivate() { return actualTC->readLastActivate(); }
143 Tick readLastSuspend() { return actualTC->readLastSuspend(); }
144
145 void profileClear() { return actualTC->profileClear(); }
146 void profileSample() { return actualTC->profileSample(); }
151#endif
152
153 int threadId() { return actualTC->threadId(); }
154
155 // @todo: Do I need this?
156 void copyArchRegs(ThreadContext *tc)
157 {
158 actualTC->copyArchRegs(tc);
159 checkerTC->copyArchRegs(tc);

--- 87 unchanged lines hidden (view full) ---

247 {
248 checkerTC->setStCondFailures(sc_failures);
249 actualTC->setStCondFailures(sc_failures);
250 }
251
252 // @todo: Fix this!
253 bool misspeculating() { return actualTC->misspeculating(); }
254
147
148 int threadId() { return actualTC->threadId(); }
149
150 // @todo: Do I need this?
151 void copyArchRegs(ThreadContext *tc)
152 {
153 actualTC->copyArchRegs(tc);
154 checkerTC->copyArchRegs(tc);

--- 87 unchanged lines hidden (view full) ---

242 {
243 checkerTC->setStCondFailures(sc_failures);
244 actualTC->setStCondFailures(sc_failures);
245 }
246
247 // @todo: Fix this!
248 bool misspeculating() { return actualTC->misspeculating(); }
249
255#if !FULL_SYSTEM
256 Counter readFuncExeInst() { return actualTC->readFuncExeInst(); }
250 Counter readFuncExeInst() { return actualTC->readFuncExeInst(); }
257#endif
258};
259
260#endif // __CPU_CHECKER_EXEC_CONTEXT_HH__
251};
252
253#endif // __CPU_CHECKER_EXEC_CONTEXT_HH__