42 #ifndef __CPU_SIMPLE_BASE_HH__ 43 #define __CPU_SIMPLE_BASE_HH__ 46 #include "config/the_isa.hh" 76 struct BaseSimpleCPUParams;
86 void checkPcEventQueue();
87 void swapActiveThread();
124 void checkForInterrupts();
125 void setupFetchRequest(
const RequestPtr &req);
130 void haltContext(
ThreadID thread_num)
override;
133 void regStats()
override;
134 void resetStats()
override;
136 void startup()
override;
142 {
panic(
"readMem() is not implemented\n"); }
148 {
panic(
"initiateMemRead() is not implemented\n"); }
154 {
panic(
"writeMem() is not implemented\n"); }
159 {
panic(
"amoMem() is not implemented\n"); }
164 {
panic(
"initiateMemAMO() is not implemented\n"); }
167 Counter totalInsts()
const override;
168 Counter totalOps()
const override;
175 #endif // __CPU_SIMPLE_BASE_HH__ StaticInstPtr curStaticInst
#define panic(...)
This implements a cprintf based panic() function.
virtual Fault amoMem(Addr addr, uint8_t *data, unsigned size, Request::Flags flags, AtomicOpFunctorPtr amo_op)
std::list< ThreadID > activeThreads
Declaration of a request, the overall memory request consisting of the parts of the request that are ...
std::shared_ptr< Request > RequestPtr
TheISA::MachInst inst
Current instruction.
std::unique_ptr< AtomicOpFunctor > AtomicOpFunctorPtr
ThreadContext is the external interface to all thread state for anything outside of the CPU...
Declaration of Statistics objects.
virtual Fault readMem(Addr addr, uint8_t *data, unsigned size, Request::Flags flags, const std::vector< bool > &byte_enable=std::vector< bool >())
virtual Fault initiateMemAMO(Addr addr, unsigned size, Request::Flags flags, AtomicOpFunctorPtr amo_op)
void advancePC(PCState &pc, const StaticInstPtr &inst)
StaticInstPtr curMacroStaticInst
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
int64_t Counter
Statistics counter type.
virtual Fault writeMem(uint8_t *data, unsigned size, Addr addr, Request::Flags flags, uint64_t *res, const std::vector< bool > &byte_enable=std::vector< bool >())
Basically a wrapper class to hold both the branch predictor and the BTB.
int16_t ThreadID
Thread index/ID type.
Declaration of the Packet class.
std::ostream CheckpointOut
Trace::InstRecord * traceData
std::vector< SimpleExecContext * > threadInfo
virtual Fault initiateMemRead(Addr addr, unsigned size, Request::Flags flags, const std::vector< bool > &byte_enable=std::vector< bool >())
std::shared_ptr< FaultBase > Fault
const FlagsType init
This Stat is Initialized.