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; --- 99 unchanged lines hidden (view full) --- 108 return new InternalProcessorError; 109} 110 111static inline Fault genAlignmentFault() 112{ 113 return new MemAddressNotAligned; 114} 115 |
116class PowerOnReset : public SparcFault 117{ 118 void invoke(ThreadContext * tc); 119}; |
120 121class WatchDogReset : public SparcFault<WatchDogReset> {}; 122 123class ExternallyInitiatedReset : public SparcFault<ExternallyInitiatedReset> {}; 124 125class SoftwareInitiatedReset : public SparcFault<SoftwareInitiatedReset> {}; 126 127class REDStateException : public SparcFault<REDStateException> {}; --- 62 unchanged lines hidden (view full) --- 190 FaultPriority priority() {return 32 - _n;} 191}; 192 193class SpillNNormal : public EnumeratedFault<SpillNNormal> 194{ 195 public: 196 SpillNNormal(uint32_t n) : 197 EnumeratedFault<SpillNNormal>(n) {;} |
198 //These need to be handled specially to enable spill traps in SE 199#if !FULL_SYSTEM |
200 void invoke(ThreadContext * tc); |
201#endif |
202}; 203 204class SpillNOther : public EnumeratedFault<SpillNOther> 205{ 206 public: 207 SpillNOther(uint32_t n) : 208 EnumeratedFault<SpillNOther>(n) {;} 209}; 210 211class FillNNormal : public EnumeratedFault<FillNNormal> 212{ 213 public: 214 FillNNormal(uint32_t n) : 215 EnumeratedFault<FillNNormal>(n) {;} |
216 //These need to be handled specially to enable fill traps in SE 217#if !FULL_SYSTEM |
218 void invoke(ThreadContext * tc); |
219#endif |
220}; 221 222class FillNOther : public EnumeratedFault<FillNOther> 223{ 224 public: 225 FillNOther(uint32_t n) : 226 EnumeratedFault<FillNOther>(n) {;} 227}; 228 229class TrapInstruction : public EnumeratedFault<TrapInstruction> 230{ |
231 public: 232 TrapInstruction(uint32_t n, uint64_t syscall) : 233 EnumeratedFault<TrapInstruction>(n), syscall_num(syscall) {;} |
234}; 235 236 237} // SparcISA namespace 238 239#endif // __FAULTS_HH__ |