46 #ifndef __CPU_SIMPLE_BASE_HH__ 47 #define __CPU_SIMPLE_BASE_HH__ 50 #include "config/the_isa.hh" 80 struct BaseSimpleCPUParams;
90 void checkPcEventQueue();
91 void swapActiveThread();
131 void checkForInterrupts();
132 void setupFetchRequest(
const RequestPtr &req);
137 void haltContext(
ThreadID thread_num)
override;
140 void regStats()
override;
141 void resetStats()
override;
143 void startup()
override;
149 {
panic(
"readMem() is not implemented\n"); }
155 {
panic(
"initiateMemRead() is not implemented\n"); }
161 {
panic(
"writeMem() is not implemented\n"); }
166 {
panic(
"amoMem() is not implemented\n"); }
171 {
panic(
"initiateMemAMO() is not implemented\n"); }
174 Counter totalInsts()
const override;
175 Counter totalOps()
const override;
182 #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)
StaticInstPtr curMacroStaticInst
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
void advancePC(PCState &pc, const StaticInstPtr &inst)
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.