Deleted Added
sdiff udiff text old ( 8567:d154cd83c353 ) new ( 8568:83f728db3332 )
full compact
1/*
2 * Copyright (c) 2003-2005 The Regents of The University of Michigan
3 * Copyright (c) 2007 MIPS Technologies, Inc.
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions are
8 * met: redistributions of source code must retain the above copyright

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

86};
87
88class NonMaskableInterrupt : public MipsFault<NonMaskableInterrupt>
89{
90 public:
91 bool isNonMaskableInterrupt() {return true;}
92};
93
94class AddressErrorFault : public MipsFault<AddressErrorFault>
95{
96 public:
97 AddressErrorFault(Addr vaddr) { badVAddr = vaddr; }
98#if FULL_SYSTEM
99 void invoke(ThreadContext * tc,
100 StaticInstPtr inst = StaticInst::nullStaticInstPtr);
101#endif

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

107 public:
108 StoreAddressErrorFault(Addr vaddr) { badVAddr = vaddr; }
109#if FULL_SYSTEM
110 void invoke(ThreadContext * tc,
111 StaticInstPtr inst = StaticInst::nullStaticInstPtr);
112#endif
113};
114
115static inline Fault genMachineCheckFault()
116{
117 return new MachineCheckFault;
118}
119
120class ResetFault : public MipsFault<ResetFault>
121{
122 public:
123 void invoke(ThreadContext * tc,
124 StaticInstPtr inst = StaticInst::nullStaticInstPtr);
125
126};
127

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

136
137class SoftResetFault : public MipsFault<SoftResetFault>
138{
139 public:
140 void invoke(ThreadContext * tc,
141 StaticInstPtr inst = StaticInst::nullStaticInstPtr);
142};
143
144class CoprocessorUnusableFault : public MipsFault<CoprocessorUnusableFault>
145{
146 protected:
147 int coProcID;
148 public:
149 CoprocessorUnusableFault(int _procid) : coProcID(_procid)
150 {}
151

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

162
163class ThreadFault : public MipsFault<ThreadFault>
164{
165 public:
166 void invoke(ThreadContext * tc,
167 StaticInstPtr inst = StaticInst::nullStaticInstPtr);
168};
169
170class IntegerOverflowFault : public MipsFault<IntegerOverflowFault>
171{
172 protected:
173 bool skipFaultingInstruction() {return true;}
174 public:
175#if FULL_SYSTEM
176 void invoke(ThreadContext * tc,
177 StaticInstPtr inst = StaticInst::nullStaticInstPtr);
178#endif

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

236 contextBadVPN2 = vpn >> 2;
237 }
238#if FULL_SYSTEM
239 void invoke(ThreadContext * tc,
240 StaticInstPtr inst = StaticInst::nullStaticInstPtr);
241#endif
242};
243
244class ItbInvalidFault : public MipsFault<ItbInvalidFault>
245{
246 public:
247 ItbInvalidFault(Addr asid, Addr vaddr, Addr vpn)
248 {
249 entryHiAsid = asid;
250 entryHiVPN2 = vpn >> 2;
251 entryHiVPN2X = vpn & 0x3;

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

287 contextBadVPN2 = vpn >> 2;
288 }
289#if FULL_SYSTEM
290 void invoke(ThreadContext * tc,
291 StaticInst::StaticInstPtr inst = nullStaticInstPtr);
292#endif
293};
294
295class DspStateDisabledFault : public MipsFault<DspStateDisabledFault>
296{
297 public:
298 void invoke(ThreadContext * tc,
299 StaticInstPtr inst = StaticInst::nullStaticInstPtr);
300};
301
302} // namespace MipsISA
303
304#endif // __MIPS_FAULTS_HH__