SparcSystem(Params *p);
~SparcSystem();
- virtual void initState();
+ void initState() override;
/**
* Serialization stuff
bool update_used = true);
/** Remove all entries from the TLB */
- void flushAll();
+ void flushAll() override;
protected:
/** Insert a PTE into the TLB. */
typedef SparcTLBParams Params;
TLB(const Params *p);
- void takeOverFrom(BaseTLB *otlb) {}
+ void takeOverFrom(BaseTLB *otlb) override {}
void
- demapPage(Addr vaddr, uint64_t asn)
+ demapPage(Addr vaddr, uint64_t asn) override
{
panic("demapPage(Addr) is not implemented.\n");
}
BaseKvmCPU(BaseKvmCPUParams *params);
virtual ~BaseKvmCPU();
- void init();
- void startup();
- void regStats();
+ void init() override;
+ void startup() override;
+ void regStats() override;
void serializeThread(CheckpointOut &cp, ThreadID tid) const override;
void unserializeThread(CheckpointIn &cp, ThreadID tid) override;
DrainState drain() override;
void drainResume() override;
- void switchOut();
- void takeOverFrom(BaseCPU *cpu);
+ void switchOut() override;
+ void takeOverFrom(BaseCPU *cpu) override;
- void verifyMemoryMode() const;
+ void verifyMemoryMode() const override;
- MasterPort &getDataPort() { return dataPort; }
- MasterPort &getInstPort() { return instPort; }
+ MasterPort &getDataPort() override { return dataPort; }
+ MasterPort &getInstPort() override { return instPort; }
void wakeup(ThreadID tid = 0) override;
- void activateContext(ThreadID thread_num);
- void suspendContext(ThreadID thread_num);
+ void activateContext(ThreadID thread_num) override;
+ void suspendContext(ThreadID thread_num) override;
void deallocateContext(ThreadID thread_num);
- void haltContext(ThreadID thread_num);
+ void haltContext(ThreadID thread_num) override;
- ThreadContext *getContext(int tn);
+ ThreadContext *getContext(int tn) override;
- Counter totalInsts() const;
- Counter totalOps() const;
+ Counter totalInsts() const override;
+ Counter totalOps() const override;
/** Dump the internal state to the terminal. */
virtual void dump() const;
X86KvmCPU(X86KvmCPUParams *params);
virtual ~X86KvmCPU();
- void startup();
+ void startup() override;
/** @{ */
void dump() const override;
protected:
typedef std::vector<struct kvm_msr_entry> KvmMSRVector;
- Tick kvmRun(Tick ticks);
+ Tick kvmRun(Tick ticks) override;
/**
* Run the virtual CPU until draining completes.
*
* @return Number of ticks executed
*/
- Tick kvmRunDrain();
+ Tick kvmRunDrain() override;
/** Wrapper that synchronizes state in kvm_run */
Tick kvmRunWrapper(Tick ticks);
- uint64_t getHostCycles() const;
+ uint64_t getHostCycles() const override;
/**
* Methods to access CPUID information using the extended
void setVCpuEvents(const struct kvm_vcpu_events &events);
/** @} */
- void updateKvmState();
- void updateThreadContext();
+ void updateKvmState() override;
+ void updateThreadContext() override;
/**
* Inject pending interrupts from gem5 into the virtual CPU.
/**
* Handle x86 legacy IO (in/out)
*/
- Tick handleKvmExitIO();
+ Tick handleKvmExitIO() override;
- Tick handleKvmExitIRQWindowOpen();
+ Tick handleKvmExitIRQWindowOpen() override;
/**
* Check if there are pending events in the vCPU that prevents it
* @return False if there are pending events in the guest, True
* otherwise.
*/
- bool archIsDrained() const;
+ bool archIsDrained() const override;
private:
/**
{ }
protected:
- bool recvTimingResp(PacketPtr pkt)
+ bool recvTimingResp(PacketPtr pkt) override
{ return lsq.recvTimingResp(pkt); }
- void recvReqRetry() { lsq.recvReqRetry(); }
+ void recvReqRetry() override { lsq.recvReqRetry(); }
bool isSnooping() const override { return true; }
- void recvTimingSnoopReq(PacketPtr pkt)
+ void recvTimingSnoopReq(PacketPtr pkt) override
{ return lsq.recvTimingSnoopReq(pkt); }
- void recvFunctionalSnoop(PacketPtr pkt) { }
+ void recvFunctionalSnoop(PacketPtr pkt) override { }
};
DcachePort dcachePort;
return dynamic_cast<const Params*>(_params);
}
- EtherInt *getEthPort(const std::string &if_name, int idx);
+ EtherInt *getEthPort(const std::string &if_name, int idx) override;
protected:
/**
/**
* Do platform initialization stuff
*/
- void init();
+ void init() override;
Pc(const Params *p);
WeightedLRUPolicy(const Params* p);
~WeightedLRUPolicy();
- void touch(int64_t set, int64_t way, Tick time);
+ void touch(int64_t set, int64_t way, Tick time) override;
void touch(int64_t set, int64_t way, Tick time, int occupancy);
int64_t getVictim(int64_t set) const override;
- bool useOccupancy() const { return true; }
+ bool useOccupancy() const override { return true; }
CacheMemory * m_cache;
int **m_last_occ_ptr;