faults.hh (2665:a124942bacb8) faults.hh (2680:246e7104f744)
1/*
2 * Copyright (c) 2003-2005 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

--- 35 unchanged lines hidden (view full) ---

44
45class AlphaFault : public FaultBase
46{
47 protected:
48 virtual bool skipFaultingInstruction() {return false;}
49 virtual bool setRestartAddress() {return true;}
50 public:
51#if FULL_SYSTEM
1/*
2 * Copyright (c) 2003-2005 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

--- 35 unchanged lines hidden (view full) ---

44
45class AlphaFault : public FaultBase
46{
47 protected:
48 virtual bool skipFaultingInstruction() {return false;}
49 virtual bool setRestartAddress() {return true;}
50 public:
51#if FULL_SYSTEM
52 void invoke(ExecContext * xc);
52 void invoke(ThreadContext * tc);
53#endif
54 virtual FaultVect vect() = 0;
55 virtual FaultStat & countStat() = 0;
56};
57
58class MachineCheckFault : public AlphaFault
59{
60 private:

--- 50 unchanged lines hidden (view full) ---

111 static FaultName _name;
112 static FaultVect _vect;
113 static FaultStat _count;
114 public:
115 FaultName name() {return _name;}
116 FaultVect vect() {return _vect;}
117 FaultStat & countStat() {return _count;}
118#if FULL_SYSTEM
53#endif
54 virtual FaultVect vect() = 0;
55 virtual FaultStat & countStat() = 0;
56};
57
58class MachineCheckFault : public AlphaFault
59{
60 private:

--- 50 unchanged lines hidden (view full) ---

111 static FaultName _name;
112 static FaultVect _vect;
113 static FaultStat _count;
114 public:
115 FaultName name() {return _name;}
116 FaultVect vect() {return _vect;}
117 FaultStat & countStat() {return _count;}
118#if FULL_SYSTEM
119 void invoke(ExecContext * xc);
119 void invoke(ThreadContext * tc);
120#endif
121};
122
123class InterruptFault : public AlphaFault
124{
125 protected:
126 bool setRestartAddress() {return false;}
127 private:

--- 17 unchanged lines hidden (view full) ---

145 DtbFault(AlphaISA::VAddr _vaddr, uint32_t _reqFlags, uint64_t _flags)
146 : vaddr(_vaddr), reqFlags(_reqFlags), flags(_flags)
147 { }
148#endif
149 FaultName name() = 0;
150 FaultVect vect() = 0;
151 FaultStat & countStat() = 0;
152#if FULL_SYSTEM
120#endif
121};
122
123class InterruptFault : public AlphaFault
124{
125 protected:
126 bool setRestartAddress() {return false;}
127 private:

--- 17 unchanged lines hidden (view full) ---

145 DtbFault(AlphaISA::VAddr _vaddr, uint32_t _reqFlags, uint64_t _flags)
146 : vaddr(_vaddr), reqFlags(_reqFlags), flags(_flags)
147 { }
148#endif
149 FaultName name() = 0;
150 FaultVect vect() = 0;
151 FaultStat & countStat() = 0;
152#if FULL_SYSTEM
153 void invoke(ExecContext * xc);
153 void invoke(ThreadContext * tc);
154#endif
155};
156
157class NDtbMissFault : public DtbFault
158{
159 private:
160 static FaultName _name;
161 static FaultVect _vect;

--- 84 unchanged lines hidden (view full) ---

246 public:
247 ItbFault(Addr _pc)
248 : pc(_pc)
249 { }
250 FaultName name() = 0;
251 FaultVect vect() = 0;
252 FaultStat & countStat() = 0;
253#if FULL_SYSTEM
154#endif
155};
156
157class NDtbMissFault : public DtbFault
158{
159 private:
160 static FaultName _name;
161 static FaultVect _vect;

--- 84 unchanged lines hidden (view full) ---

246 public:
247 ItbFault(Addr _pc)
248 : pc(_pc)
249 { }
250 FaultName name() = 0;
251 FaultVect vect() = 0;
252 FaultStat & countStat() = 0;
253#if FULL_SYSTEM
254 void invoke(ExecContext * xc);
254 void invoke(ThreadContext * tc);
255#endif
256};
257
258class ItbMissFault : public ItbFault
259{
260 private:
261 static FaultName _name;
262 static FaultVect _vect;

--- 93 unchanged lines hidden ---
255#endif
256};
257
258class ItbMissFault : public ItbFault
259{
260 private:
261 static FaultName _name;
262 static FaultVect _vect;

--- 93 unchanged lines hidden ---