Deleted Added
sdiff udiff text old ( 3573:2038a2e549b5 ) new ( 3574:dbddfe6ebb2d )
full compact
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__