faults.hh (3573:2038a2e549b5) | faults.hh (3574:dbddfe6ebb2d) |
---|---|
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 | 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<PowerOnReset> {}; | 116class PowerOnReset : public SparcFault 117{ 118 void invoke(ThreadContext * tc); 119}; |
117 118class WatchDogReset : public SparcFault<WatchDogReset> {}; 119 120class ExternallyInitiatedReset : public SparcFault<ExternallyInitiatedReset> {}; 121 122class SoftwareInitiatedReset : public SparcFault<SoftwareInitiatedReset> {}; 123 124class REDStateException : public SparcFault<REDStateException> {}; --- 62 unchanged lines hidden (view full) --- 187 FaultPriority priority() {return 32 - _n;} 188}; 189 190class SpillNNormal : public EnumeratedFault<SpillNNormal> 191{ 192 public: 193 SpillNNormal(uint32_t n) : 194 EnumeratedFault<SpillNNormal>(n) {;} | 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 |
|
195 void invoke(ThreadContext * tc); | 200 void invoke(ThreadContext * tc); |
201#endif |
|
196}; 197 198class SpillNOther : public EnumeratedFault<SpillNOther> 199{ 200 public: 201 SpillNOther(uint32_t n) : 202 EnumeratedFault<SpillNOther>(n) {;} 203}; 204 205class FillNNormal : public EnumeratedFault<FillNNormal> 206{ 207 public: 208 FillNNormal(uint32_t n) : 209 EnumeratedFault<FillNNormal>(n) {;} | 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 |
|
210 void invoke(ThreadContext * tc); | 218 void invoke(ThreadContext * tc); |
219#endif |
|
211}; 212 213class FillNOther : public EnumeratedFault<FillNOther> 214{ 215 public: 216 FillNOther(uint32_t n) : 217 EnumeratedFault<FillNOther>(n) {;} 218}; 219 220class TrapInstruction : public EnumeratedFault<TrapInstruction> 221{ | 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{ |
222 private: 223 uint64_t syscall_num; | |
224 public: 225 TrapInstruction(uint32_t n, uint64_t syscall) : 226 EnumeratedFault<TrapInstruction>(n), syscall_num(syscall) {;} | 231 public: 232 TrapInstruction(uint32_t n, uint64_t syscall) : 233 EnumeratedFault<TrapInstruction>(n), syscall_num(syscall) {;} |
227#if !FULL_SYSTEM 228 void invoke(ThreadContext * tc); 229#endif | |
230}; 231 232 233} // SparcISA namespace 234 235#endif // __FAULTS_HH__ | 234}; 235 236 237} // SparcISA namespace 238 239#endif // __FAULTS_HH__ |