Go to the documentation of this file.
42 #ifndef __CPU_CHECKER_THREAD_CONTEXT_HH__
43 #define __CPU_CHECKER_THREAD_CONTEXT_HH__
49 #include "debug/Checker.hh"
89 assert(actual_ret == check_ret);
98 assert(actual_ret == check_ret);
115 return actualTC->getCurrentInstCount();
278 return actualTC->readMiscRegNoEffect(misc_reg);
284 return actualTC->readMiscReg(misc_reg);
290 DPRINTF(
Checker,
"Setting misc reg with no effect: %d to both Checker"
291 " and O3..\n", misc_reg);
299 DPRINTF(
Checker,
"Setting misc reg with effect: %d to both Checker"
300 " and O3..\n", misc_reg);
308 return actualTC->readStCondFailures();
314 actualTC->setStCondFailures(sc_failures);
321 panic(
"function not implemented");
327 return actualTC->getHtmCheckpointPtr();
333 panic(
"function not implemented");
340 #endif // __CPU_CHECKER_EXEC_CONTEXT_HH__
int cpuId() const override
CheckerThreadContext(TC *actual_tc, CheckerCPU *checker_cpu)
std::unique_ptr< BaseHTMCheckpoint > BaseHTMCheckpointPtr
void setMiscReg(RegIndex misc_reg, RegVal val) override
void setReg(const RegId ®, const void *val) override
Tick getCurrentInstCount() override
void halt() override
Set the status to Halted.
void descheduleInstCountEvent(Event *event) override
const PCStateBase & pcState() const override
Reads this thread's PC state.
uint32_t socketId() const override
void copyArchRegs(ThreadContext *tc) override
SimpleThread * checkerTC
The checker's own SimpleThread.
void setMiscReg(RegIndex misc_reg, RegVal val) override
void setMiscRegNoEffect(RegIndex misc_reg, RegVal val) override
RegVal getReg(const RegId ®) const override
bool remove(PCEvent *e) override
void clearArchRegs() override
virtual void regStats(const std::string &name)
void setContextId(ContextID id) override
bool remove(PCEvent *e) override
TC * actualTC
The main CPU's ThreadContext, or class that implements the ThreadContext interface.
Derived ThreadContext class for use with the Checker.
void scheduleInstCountEvent(Event *event, Tick count) override
void setReg(const RegId &arch_reg, RegVal val) override
RegVal readMiscReg(RegIndex misc_reg) override
The SimpleThread object provides a combination of the ThreadState object and the ThreadContext interf...
void setThreadId(int id) override
Tick readLastActivate() override
void getReg(const RegId ®, void *val) const override
System * getSystemPtr() override
BaseCPU * getCpuPtr() override
void suspend() override
Set the status to Suspended.
CheckerCPU * getCheckerCpuPtr() override
Tick readLastSuspend() override
void takeOverFrom(ThreadContext *oldContext) override
void copyState(ThreadContext *oldContext)
ThreadContext is the external interface to all thread state for anything outside of the CPU.
void setReg(const RegId ®, RegVal val) override
void clearArchRegs() override
void connectMemPorts(ThreadContext *tc)
uint64_t Tick
Tick count type.
void setMiscRegNoEffect(RegIndex misc_reg, RegVal val) override
void * getWritableReg(const RegId ®) override
void setHtmCheckpointPtr(BaseHTMCheckpointPtr new_cpt) override
void setProcessPtr(Process *p) override
void copyArchRegs(ThreadContext *tc) override
bool schedule(PCEvent *e) override
ContextID contextId() const override
void htmAbortTransaction(uint64_t htm_uid, HtmFailureFaultCause cause) override
const PCStateBase & pcState() const override
void recordPCChange(const PCStateBase &val)
const std::string & name()
void setStatus(Status newStatus) override
CheckerCPU * checkerCPU
Pointer to the checker CPU.
void pcStateNoRecord(const PCStateBase &val) override
BaseISA * getIsaPtr() const override
void pcState(const PCStateBase &val) override
Sets this thread's PC state.
bool schedule(PCEvent *e) override
int ContextID
Globally unique thread context ID.
Status status() const override
BaseHTMCheckpointPtr & getHtmCheckpointPtr() override
void activate() override
Set the status to Active.
void setContextId(ContextID id) override
void setStCondFailures(unsigned sc_failures) override
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
void regStats(const std::string &name) override
void setStatus(Status new_status) override
RegVal readMiscRegNoEffect(RegIndex misc_reg) const override
InstDecoder * getDecoderPtr() override
unsigned readStCondFailures() const override
int threadId() const override
Returns this thread's ID number.
BaseMMU * getMMUPtr() override
Process * getProcessPtr() override
Register ID: describe an architectural register with its class and index.
#define panic(...)
This implements a cprintf based panic() function.
void setThreadId(int id) override
Generated on Sun Jul 30 2023 01:56:47 for gem5 by doxygen 1.8.17