diff options
Diffstat (limited to 'src/arch/mips/isa.cc')
-rw-r--r-- | src/arch/mips/isa.cc | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/src/arch/mips/isa.cc b/src/arch/mips/isa.cc index f6de102cd..891ed5e2f 100644 --- a/src/arch/mips/isa.cc +++ b/src/arch/mips/isa.cc @@ -36,6 +36,7 @@ #include "cpu/base.hh" #include "cpu/thread_context.hh" #include "debug/MipsPRA.hh" +#include "params/MipsISA.hh" namespace MipsISA { @@ -87,11 +88,10 @@ ISA::miscRegNames[NumMiscRegs] = "LLFlag" }; -ISA::ISA(uint8_t num_threads, uint8_t num_vpes) +ISA::ISA(Params *p) + : SimObject(p), + numThreads(p->num_threads), numVpes(p->num_vpes) { - numThreads = num_threads; - numVpes = num_vpes; - miscRegFile.resize(NumMiscRegs); bankType.resize(NumMiscRegs); @@ -142,6 +142,12 @@ ISA::ISA(uint8_t num_threads, uint8_t num_vpes) clear(); } +const MipsISAParams * +ISA::params() const +{ + return dynamic_cast<const Params *>(_params); +} + void ISA::clear() { @@ -586,3 +592,9 @@ ISA::CP0Event::unscheduleEvent() } } + +MipsISA::ISA * +MipsISAParams::create() +{ + return new MipsISA::ISA(this); +} |