34c34,37
< #include "arch/alpha/miscregfile.hh"
---
> #include <string>
> #include <iostream>
>
> #include "arch/alpha/registers.hh"
35a39
> #include "base/types.hh"
36a41
> class BaseCPU;
38a44
> class ThreadContext;
43a50,52
> public:
> typedef uint64_t InternalProcReg;
>
45c54,58
< MiscRegFile miscRegFile;
---
> uint64_t fpcr; // floating point condition codes
> uint64_t uniq; // process-unique register
> bool lock_flag; // lock flag for LL/SC
> Addr lock_addr; // lock address for LL/SC
> int intr_flag;
46a60,65
> InternalProcReg ipr[NumInternalProcRegs]; // Internal processor regs
>
> protected:
> InternalProcReg readIpr(int idx, ThreadContext *tc);
> void setIpr(int idx, InternalProcReg val, ThreadContext *tc);
>
49,52c68,71
< void expandForMultithreading(ThreadID num_threads, unsigned num_vpes)
< {
< miscRegFile.expandForMultithreading(num_threads, num_vpes);
< }
---
> // These functions should be removed once the simplescalar cpu
> // model has been replaced.
> int getInstAsid();
> int getDataAsid();
54,58c73,74
< void reset(std::string core_name, ThreadID num_threads,
< unsigned num_vpes, BaseCPU *_cpu)
< {
< miscRegFile.reset(core_name, num_threads, num_vpes, _cpu);
< }
---
> MiscReg readMiscRegNoEffect(int misc_reg, ThreadID tid = 0);
> MiscReg readMiscReg(int misc_reg, ThreadContext *tc, ThreadID tid = 0);
60,63c76,79
< int instAsid()
< {
< return miscRegFile.getInstAsid();
< }
---
> void setMiscRegNoEffect(int misc_reg, const MiscReg &val,
> ThreadID tid = 0);
> void setMiscReg(int misc_reg, const MiscReg &val, ThreadContext *tc,
> ThreadID tid = 0);
65c81,82
< int dataAsid()
---
> void
> clear()
67c84,88
< return miscRegFile.getDataAsid();
---
> fpcr = 0;
> uniq = 0;
> lock_flag = 0;
> lock_addr = 0;
> intr_flag = 0;
70c91,92
< void clear();
---
> void serialize(std::ostream &os);
> void unserialize(Checkpoint *cp, const std::string &section);
72,73c94,96
< MiscReg readMiscRegNoEffect(int miscReg);
< MiscReg readMiscReg(int miscReg, ThreadContext *tc);
---
> void reset(std::string core_name, ThreadID num_threads,
> unsigned num_vpes, BaseCPU *_cpu)
> { }
75,77d97
< void setMiscRegNoEffect(int miscReg, const MiscReg val);
< void setMiscReg(int miscReg, const MiscReg val,
< ThreadContext *tc);
78a99,101
> void expandForMultithreading(ThreadID num_threads, unsigned num_vpes)
> { }
>
91,93d113
< void serialize(std::ostream &os);
< void unserialize(Checkpoint *cp, const std::string &section);
<
96a117
> initializeIprTable();