Go to the documentation of this file.
42 #ifndef __CPU_SIMPLE_BASE_HH__
43 #define __CPU_SIMPLE_BASE_HH__
46 #include "config/the_isa.hh"
76 struct BaseSimpleCPUParams;
148 {
panic(
"readMem() is not implemented\n"); }
154 {
panic(
"initiateMemRead() is not implemented\n"); }
160 {
panic(
"writeMem() is not implemented\n"); }
165 {
panic(
"amoMem() is not implemented\n"); }
170 {
panic(
"initiateMemAMO() is not implemented\n"); }
196 #endif // __CPU_SIMPLE_BASE_HH__
std::unique_ptr< AtomicOpFunctor > AtomicOpFunctorPtr
Trace::InstRecord * traceData
StaticInstPtr curMacroStaticInst
void unserializeThread(CheckpointIn &cp, ThreadID tid) override
Unserialize one thread.
Counter totalInsts() const override
int16_t ThreadID
Thread index/ID type.
void serializeThread(CheckpointOut &cp, ThreadID tid) const override
Serialize a single thread.
virtual Fault initiateHtmCmd(Request::Flags flags)=0
Hardware transactional memory commands (HtmCmds), e.g.
void setupFetchRequest(const RequestPtr &req)
std::shared_ptr< Request > RequestPtr
std::vector< SimpleExecContext * > threadInfo
void traceFault()
Handler used when encountering a fault; its purpose is to tear down the InstRecord.
std::list< ThreadID > activeThreads
int64_t Counter
Statistics counter type.
Counter totalOps() const override
ThreadContext is the external interface to all thread state for anything outside of the CPU.
virtual Fault readMem(Addr addr, uint8_t *data, unsigned size, Request::Flags flags, const std::vector< bool > &byte_enable=std::vector< bool >())
std::shared_ptr< FaultBase > Fault
TheISA::MachInst inst
Current instruction.
Basically a wrapper class to hold both the branch predictor and the BTB.
virtual void htmSendAbortSignal(HtmFailureFaultCause cause)=0
This function is used to instruct the memory subsystem that a transaction should be aborted and the s...
virtual Fault amoMem(Addr addr, uint8_t *data, unsigned size, Request::Flags flags, AtomicOpFunctorPtr amo_op)
virtual Fault initiateMemAMO(Addr addr, unsigned size, Request::Flags flags, AtomicOpFunctorPtr amo_op)
virtual Fault initiateMemRead(Addr addr, unsigned size, Request::Flags flags, const std::vector< bool > &byte_enable=std::vector< bool >())
void checkForInterrupts()
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
const Params * params() const
void wakeup(ThreadID tid) override
StaticInstPtr curStaticInst
void advancePC(const Fault &fault)
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 >())
BaseSimpleCPU(BaseSimpleCPUParams *params)
void resetStats() override
std::ostream CheckpointOut
void haltContext(ThreadID thread_num) override
Notify the CPU that the indicated context is now halted.
#define panic(...)
This implements a cprintf based panic() function.
Generated on Wed Sep 30 2020 14:02:07 for gem5 by doxygen 1.8.17