29#ifndef __ARCH_MIPS_ISA_HH__
30#define __ARCH_MIPS_ISA_HH__
80 void clear()
override;
85 return new PCState(new_inst_addr);
171 (Stat & 0x10000006) == 0 &&
173 (Dbg & 0x40000000) == 0 &&
175 (Stat & 0x00000018) != 0) {
Defines global host-dependent types: Counter, Tick, and (indirectly) {int,uint}{8,...
Cycles is a wrapper class for representing cycle counts, i.e.
void processCP0Event(BaseCPU *cpu, CP0EventType)
Process a CP0 event.
PCStateBase * newPCState(Addr new_inst_addr=0) const override
RegVal readMiscReg(RegIndex idx) override
RegVal readMiscRegNoEffect(RegIndex idx) const override
void setMiscReg(RegIndex idx, RegVal val, ThreadID tid)
bool inUserMode() const override
void setMiscReg(RegIndex idx, RegVal val) override
std::vector< std::vector< RegVal > > miscRegFile
void updateCPU(BaseCPU *cpu)
void updateCP0ReadView(RegIndex idx, ThreadID tid)
RegVal readMiscRegNoEffect(RegIndex idx, ThreadID tid) const
RegVal readMiscReg(RegIndex idx, ThreadID tid)
void setMiscRegNoEffect(RegIndex idx, RegVal val) override
unsigned getVPENum(ThreadID tid) const
void setRegMask(RegIndex idx, RegVal val, ThreadID tid=0)
void setMiscRegNoEffect(RegIndex idx, RegVal val, ThreadID tid)
std::vector< BankType > bankType
void scheduleCP0Update(BaseCPU *cpu, Cycles delay=Cycles(0))
RegVal filterCP0Write(RegIndex idx, int reg_sel, RegVal val)
This method doesn't need to adjust the Control Register Offset since it has already been done in the ...
std::vector< std::vector< RegVal > > miscRegFile_WriteMask
void copyRegsFrom(ThreadContext *src) override
static std::string miscRegNames[misc_reg::NumRegs]
ThreadContext is the external interface to all thread state for anything outside of the CPU.
GenericISA::DelaySlotPCState< 4 > PCState
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
int16_t ThreadID
Thread index/ID type.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.