faults.hh (4183:3d19c1d46946) | faults.hh (4661:44458219add1) |
---|---|
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; --- 66 unchanged lines hidden (view full) --- 75 static FaultStat _count; 76 public: 77 FaultName name() {return _name;} 78 FaultVect vect() {return _vect;} 79 FaultStat & countStat() {return _count;} 80 bool isAlignmentFault() {return true;} 81}; 82 | 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; --- 66 unchanged lines hidden (view full) --- 75 static FaultStat _count; 76 public: 77 FaultName name() {return _name;} 78 FaultVect vect() {return _vect;} 79 FaultStat & countStat() {return _count;} 80 bool isAlignmentFault() {return true;} 81}; 82 |
83class UnimplementedOpcodeFault : public MipsFault 84{ 85 private: 86 static FaultName _name; 87 static FaultVect _vect; 88 static FaultStat _count; 89 public: 90 FaultName name() {return _name;} 91 FaultVect vect() {return _vect;} 92 FaultStat & countStat() {return _count;} 93}; 94 95#if !FULL_SYSTEM 96//class PageTableFault : public MipsFault 97//{ 98//private: 99// Addr vaddr; 100// static FaultName _name; 101// static FaultVect _vect; 102// static FaultStat _count; 103//public: 104// PageTableFault(Addr va) 105// : vaddr(va) {} 106// FaultName name() {return _name;} 107// FaultVect vect() {return _vect;} 108// FaultStat & countStat() {return _count;} 109// void invoke(ThreadContext * tc); 110//}; 111 112static inline Fault genPageTableFault(Addr va) 113{ 114 return new PageTableFault(va); 115} 116#endif 117 118 |
|
83static inline Fault genMachineCheckFault() 84{ 85 return new MachineCheckFault; 86} 87 88static inline Fault genAlignmentFault() 89{ 90 return new AlignmentFault; --- 4 unchanged lines hidden (view full) --- 95 private: 96 static FaultName _name; 97 static FaultVect _vect; 98 static FaultStat _count; 99 public: 100 FaultName name() {return _name;} 101 FaultVect vect() {return _vect;} 102 FaultStat & countStat() {return _count;} | 119static inline Fault genMachineCheckFault() 120{ 121 return new MachineCheckFault; 122} 123 124static inline Fault genAlignmentFault() 125{ 126 return new AlignmentFault; --- 4 unchanged lines hidden (view full) --- 131 private: 132 static FaultName _name; 133 static FaultVect _vect; 134 static FaultStat _count; 135 public: 136 FaultName name() {return _name;} 137 FaultVect vect() {return _vect;} 138 FaultStat & countStat() {return _count;} |
139 void invoke(ThreadContext * tc); |
|
103}; 104 | 140}; 141 |
142class CoprocessorUnusableFault : public MipsFault 143{ 144 private: 145 static FaultName _name; 146 static FaultVect _vect; 147 static FaultStat _count; 148 public: 149 FaultName name() {return _name;} 150 FaultVect vect() {return _vect;} 151 FaultStat & countStat() {return _count;} 152 void invoke(ThreadContext * tc); 153}; 154 155class ReservedInstructionFault : public MipsFault 156{ 157 private: 158 static FaultName _name; 159 static FaultVect _vect; 160 static FaultStat _count; 161 public: 162 FaultName name() {return _name;} 163 FaultVect vect() {return _vect;} 164 FaultStat & countStat() {return _count;} 165 void invoke(ThreadContext * tc); 166}; 167 168class ThreadFault : public MipsFault 169{ 170 private: 171 static FaultName _name; 172 static FaultVect _vect; 173 static FaultStat _count; 174 public: 175 FaultName name() {return _name;} 176 FaultVect vect() {return _vect;} 177 FaultStat & countStat() {return _count;} 178 void invoke(ThreadContext * tc); 179}; 180 181 |
|
105class ArithmeticFault : public MipsFault 106{ 107 protected: 108 bool skipFaultingInstruction() {return true;} 109 private: 110 static FaultName _name; 111 static FaultVect _vect; 112 static FaultStat _count; --- 99 unchanged lines hidden (view full) --- 212 static FaultVect _vect; 213 static FaultStat _count; 214 public: 215 FaultName name() {return _name;} 216 FaultVect vect() {return _vect;} 217 FaultStat & countStat() {return _count;} 218}; 219 | 182class ArithmeticFault : public MipsFault 183{ 184 protected: 185 bool skipFaultingInstruction() {return true;} 186 private: 187 static FaultName _name; 188 static FaultVect _vect; 189 static FaultStat _count; --- 99 unchanged lines hidden (view full) --- 289 static FaultVect _vect; 290 static FaultStat _count; 291 public: 292 FaultName name() {return _name;} 293 FaultVect vect() {return _vect;} 294 FaultStat & countStat() {return _count;} 295}; 296 |
220class UnimplementedOpcodeFault : public MipsFault 221{ 222 private: 223 static FaultName _name; 224 static FaultVect _vect; 225 static FaultStat _count; 226 public: 227 FaultName name() {return _name;} 228 FaultVect vect() {return _vect;} 229 FaultStat & countStat() {return _count;} 230}; 231 | |
232class FloatEnableFault : public MipsFault 233{ 234 private: 235 static FaultName _name; 236 static FaultVect _vect; 237 static FaultStat _count; 238 public: 239 FaultName name() {return _name;} 240 FaultVect vect() {return _vect;} 241 FaultStat & countStat() {return _count;} 242}; 243 | 297class FloatEnableFault : public MipsFault 298{ 299 private: 300 static FaultName _name; 301 static FaultVect _vect; 302 static FaultStat _count; 303 public: 304 FaultName name() {return _name;} 305 FaultVect vect() {return _vect;} 306 FaultStat & countStat() {return _count;} 307}; 308 |
244class PalFault : public MipsFault | 309class IntegerOverflowFault : public MipsFault |
245{ | 310{ |
246 protected: 247 bool skipFaultingInstruction() {return true;} | |
248 private: 249 static FaultName _name; 250 static FaultVect _vect; 251 static FaultStat _count; 252 public: 253 FaultName name() {return _name;} 254 FaultVect vect() {return _vect;} 255 FaultStat & countStat() {return _count;} 256}; 257 | 311 private: 312 static FaultName _name; 313 static FaultVect _vect; 314 static FaultStat _count; 315 public: 316 FaultName name() {return _name;} 317 FaultVect vect() {return _vect;} 318 FaultStat & countStat() {return _count;} 319}; 320 |
258class IntegerOverflowFault : public MipsFault | 321class DspStateDisabledFault : public MipsFault |
259{ 260 private: 261 static FaultName _name; 262 static FaultVect _vect; 263 static FaultStat _count; 264 public: 265 FaultName name() {return _name;} 266 FaultVect vect() {return _vect;} 267 FaultStat & countStat() {return _count;} | 322{ 323 private: 324 static FaultName _name; 325 static FaultVect _vect; 326 static FaultStat _count; 327 public: 328 FaultName name() {return _name;} 329 FaultVect vect() {return _vect;} 330 FaultStat & countStat() {return _count;} |
331 void invoke(ThreadContext * tc); |
|
268}; 269 270} // MipsISA namespace 271 272#endif // __FAULTS_HH__ | 332}; 333 334} // MipsISA namespace 335 336#endif // __FAULTS_HH__ |