faults.hh

来自「M5,一个功能强大的多处理器系统模拟器.很多针对处理器架构,性能的研究都使用它作」· HH 代码 · 共 613 行 · 第 1/2 页

HH
613
字号
    FaultStat & countStat() {return _count;}    void invoke(ThreadContext * tc);};class SoftResetFault : public MipsFault{  private:    static FaultName _name;    static FaultVect _vect;    static FaultStat _count;  public:    FaultName name() const {return _name;}    FaultVect vect() {return _vect;}    FaultStat & countStat() {return _count;}    void invoke(ThreadContext * tc);};class DebugSingleStep : public MipsFault{  private:    static FaultName _name;    static FaultVect _vect;    static FaultStat _count;  public:    FaultName name() const {return _name;}    FaultVect vect() {return _vect;}    FaultStat & countStat() {return _count;}    void invoke(ThreadContext * tc);};class DebugInterrupt : public MipsFault{  private:    static FaultName _name;    static FaultVect _vect;    static FaultStat _count;  public:    FaultName name() const {return _name;}    FaultVect vect() {return _vect;}    FaultStat & countStat() {return _count;}    void invoke(ThreadContext * tc);};class CoprocessorUnusableFault : public MipsFault{  private:    static FaultName _name;    static FaultVect _vect;    static FaultStat _count;    int coProcID;  public:    FaultName name() const {return _name;}    FaultVect vect() {return _vect;}    FaultStat & countStat() {return _count;}    void invoke(ThreadContext * tc);    CoprocessorUnusableFault(int _procid){ coProcID = _procid;}};class ReservedInstructionFault : public MipsFault{  private:    static FaultName _name;    static FaultVect _vect;    static FaultStat _count;  public:    FaultName name() const {return _name;}    FaultVect vect() {return _vect;}    FaultStat & countStat() {return _count;}    void invoke(ThreadContext * tc);};class ThreadFault : public MipsFault{  private:    static FaultName _name;    static FaultVect _vect;    static FaultStat _count;  public:    FaultName name() const {return _name;}    FaultVect vect() {return _vect;}    FaultStat & countStat() {return _count;}    void invoke(ThreadContext * tc);};class ArithmeticFault : public MipsFault{  protected:    bool skipFaultingInstruction() {return true;}  private:    static FaultName _name;    static FaultVect _vect;    static FaultStat _count;  public:    FaultName name() const {return _name;}    FaultVect vect() {return _vect;}    FaultStat & countStat() {return _count;}#if FULL_SYSTEM    void invoke(ThreadContext * tc);#endif};class InterruptFault : public MipsFault{  protected:    bool setRestartAddress() {return false;}  private:    static FaultName _name;    static FaultVect _vect;    static FaultStat _count;  public:    FaultName name() const {return _name;}    FaultVect vect() {return _vect;}    FaultStat & countStat() {return _count;}#if FULL_SYSTEM    void invoke(ThreadContext * tc);#endif    //void invoke(ThreadContext * tc);};class TrapFault : public MipsFault{  private:    static FaultName _name;    static FaultVect _vect;    static FaultStat _count;  public:    FaultName name() const {return _name;}    FaultVect vect() {return _vect;}    FaultStat & countStat() {return _count;}#if FULL_SYSTEM    void invoke(ThreadContext * tc);#endif};class BreakpointFault : public MipsFault{  private:    static FaultName _name;    static FaultVect _vect;    static FaultStat _count;  public:    FaultName name() const {return _name;}    FaultVect vect() {return _vect;}    FaultStat & countStat() {return _count;}#if FULL_SYSTEM    void invoke(ThreadContext * tc);#endif};class ItbRefillFault : public MipsFault{  private:    static FaultName _name;    static FaultVect _vect;    static FaultStat _count;  public:    FaultName name() const {return _name;}    FaultVect vect() {return _vect;}    FaultStat & countStat() {return _count;}#if FULL_SYSTEM    void invoke(ThreadContext * tc);#endif};class DtbRefillFault : public MipsFault{  private:    static FaultName _name;    static FaultVect _vect;    static FaultStat _count;  public:    FaultName name() const {return _name;}    FaultVect vect() {return _vect;}    FaultStat & countStat() {return _count;}#if FULL_SYSTEM    void invoke(ThreadContext * tc);#endif};class ItbPageFault : public MipsFault{  private:    static FaultName _name;    static FaultVect _vect;    static FaultStat _count;  public:    FaultName name() const {return _name;}    FaultVect vect() {return _vect;}    FaultStat & countStat() {return _count;}#if FULL_SYSTEM    void invoke(ThreadContext * tc);#endif};class ItbInvalidFault : public MipsFault{  private:    static FaultName _name;    static FaultVect _vect;    static FaultStat _count;  public:    FaultName name() const {return _name;}    FaultVect vect() {return _vect;}    FaultStat & countStat() {return _count;}#if FULL_SYSTEM    void invoke(ThreadContext * tc);#endif};class TLBModifiedFault : public MipsFault{  private:    static FaultName _name;    static FaultVect _vect;    static FaultStat _count;  public:    FaultName name() const {return _name;}    FaultVect vect() {return _vect;}    FaultStat & countStat() {return _count;}#if FULL_SYSTEM    void invoke(ThreadContext * tc);#endif};class DtbInvalidFault : public MipsFault{  private:    static FaultName _name;    static FaultVect _vect;    static FaultStat _count;  public:    FaultName name() const {return _name;}    FaultVect vect() {return _vect;}    FaultStat & countStat() {return _count;}#if FULL_SYSTEM    void invoke(ThreadContext * tc);#endif};class FloatEnableFault : public MipsFault{  private:    static FaultName _name;    static FaultVect _vect;    static FaultStat _count;  public:    FaultName name() const {return _name;}    FaultVect vect() {return _vect;}    FaultStat & countStat() {return _count;}};class ItbMissFault : public MipsFault{  private:    static FaultName _name;    static FaultVect _vect;    static FaultStat _count;  public:    FaultName name() const {return _name;}    FaultVect vect() {return _vect;}    FaultStat & countStat() {return _count;}};class ItbAcvFault : public MipsFault{  private:    static FaultName _name;    static FaultVect _vect;    static FaultStat _count;  public:    FaultName name() const {return _name;}    FaultVect vect() {return _vect;}    FaultStat & countStat() {return _count;}};class IntegerOverflowFault : public MipsFault{  private:    static FaultName _name;    static FaultVect _vect;    static FaultStat _count;  public:    FaultName name() const {return _name;}    FaultVect vect() {return _vect;}    FaultStat & countStat() {return _count;}};class DspStateDisabledFault : public MipsFault{  private:    static FaultName _name;    static FaultVect _vect;    static FaultStat _count;  public:    FaultName name() const {return _name;}    FaultVect vect() {return _vect;}    FaultStat & countStat() {return _count;}    void invoke(ThreadContext * tc);};} // MipsISA namespace#endif // __MIPS_FAULTS_HH__

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?