diff options
author | Korey Sewell <ksewell@umich.edu> | 2011-03-26 09:23:52 -0400 |
---|---|---|
committer | Korey Sewell <ksewell@umich.edu> | 2011-03-26 09:23:52 -0400 |
commit | e0fdd86fd90d16ec7b7f9e2f81a12c2653919a27 (patch) | |
tree | 0e0cd264b48dbf264234e572b55d38f9ffd04a9e /src/arch/mips/isa.hh | |
parent | 48b58b3332251670432db2cc7832b80eb2787bda (diff) | |
download | gem5-e0fdd86fd90d16ec7b7f9e2f81a12c2653919a27.tar.xz |
mips: cleanup ISA-specific code
***
(1): get rid of expandForMT function
MIPS is the only ISA that cares about having a piece of ISA state integrate
multiple threads so add constants for MIPS and relieve the other ISAs from having
to define this. Also, InOrder was the only core that was actively calling
this function
* * *
(2): get rid of corespecific type
The CoreSpecific type was used as a proxy to pass in HW specific params to
a MIPS CPU, but since MIPS FS hasnt been touched for awhile, it makes sense
to not force every other ISA to use CoreSpecific as well use a special
reset function to set it. That probably should go in a PowerOn reset fault
anyway.
Diffstat (limited to 'src/arch/mips/isa.hh')
-rw-r--r-- | src/arch/mips/isa.hh | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/src/arch/mips/isa.hh b/src/arch/mips/isa.hh index 8032d20d0..cc075a9a6 100644 --- a/src/arch/mips/isa.hh +++ b/src/arch/mips/isa.hh @@ -54,6 +54,10 @@ namespace MipsISA typedef ISA CP0; protected: + // Number of threads and vpes an individual ISA state can handle + uint8_t numThreads; + uint8_t numVpes; + enum BankType { perProcessor, perThreadContext, @@ -65,16 +69,11 @@ namespace MipsISA std::vector<BankType> bankType; public: - ISA(); - - void init(); - - void clear(unsigned tid_or_vpn = 0); + ISA(uint8_t num_threads = 1, uint8_t num_vpes = 1); - void reset(std::string core_name, ThreadID num_threads, - unsigned num_vpes, BaseCPU *cpu); + void clear(); - void expandForMultithreading(ThreadID num_threads, unsigned num_vpes); + void configCP(); unsigned getVPENum(ThreadID tid); |