faults.hh (4129:702776ad560a) faults.hh (4183:3d19c1d46946)
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;

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

251 public:
252 TrapInstruction(uint32_t n) : EnumeratedFault<TrapInstruction>(n) {;}
253 //In SE, trap instructions are requesting services from the OS.
254#if !FULL_SYSTEM
255 void invoke(ThreadContext * tc);
256#endif
257};
258
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;

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

251 public:
252 TrapInstruction(uint32_t n) : EnumeratedFault<TrapInstruction>(n) {;}
253 //In SE, trap instructions are requesting services from the OS.
254#if !FULL_SYSTEM
255 void invoke(ThreadContext * tc);
256#endif
257};
258
259#if !FULL_SYSTEM
260class PageTableFault : public SparcFault<PageTableFault>
261{
262 private:
263 Addr vaddr;
264 public:
265 PageTableFault(Addr va) : vaddr(va) {}
266 void invoke(ThreadContext * tc);
267};
268
269static inline Fault genPageTableFault(Addr va)
270{
271 return new PageTableFault(va);
272}
273#endif
274
275static inline Fault genMachineCheckFault()
276{
277 return new InternalProcessorError;
278}
279
280static inline Fault genAlignmentFault()
281{
282 return new MemAddressNotAligned;
283}
284
285
286} // SparcISA namespace
287
288#endif // __SPARC_FAULTS_HH__
259static inline Fault genMachineCheckFault()
260{
261 return new InternalProcessorError;
262}
263
264static inline Fault genAlignmentFault()
265{
266 return new MemAddressNotAligned;
267}
268
269
270} // SparcISA namespace
271
272#endif // __SPARC_FAULTS_HH__