faults.hh (4695:a63378aed062) faults.hh (4997:e7380529bd2d)
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;

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

27 *
28 * Authors: Gabe Black
29 * Kevin Lim
30 */
31
32#ifndef __SPARC_FAULTS_HH__
33#define __SPARC_FAULTS_HH__
34
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;

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

27 *
28 * Authors: Gabe Black
29 * Kevin Lim
30 */
31
32#ifndef __SPARC_FAULTS_HH__
33#define __SPARC_FAULTS_HH__
34
35#include "config/full_system.hh"
35#include "sim/faults.hh"
36
37// The design of the "name" and "vect" functions is in sim/faults.hh
38
39namespace SparcISA
40{
41
42typedef uint32_t TrapType;
43typedef uint32_t FaultPriority;
44
36#include "sim/faults.hh"
37
38// The design of the "name" and "vect" functions is in sim/faults.hh
39
40namespace SparcISA
41{
42
43typedef uint32_t TrapType;
44typedef uint32_t FaultPriority;
45
46class ITB;
47
45class SparcFaultBase : public FaultBase
46{
47 public:
48 enum PrivilegeLevel
49 {
50 U, User = U,
51 P, Privileged = P,
52 H, Hyperprivileged = H,

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

194
195class InterruptVector : public SparcFault<InterruptVector> {};
196
197class PAWatchpoint : public SparcFault<PAWatchpoint> {};
198
199class VAWatchpoint : public SparcFault<VAWatchpoint> {};
200
201class FastInstructionAccessMMUMiss :
48class SparcFaultBase : public FaultBase
49{
50 public:
51 enum PrivilegeLevel
52 {
53 U, User = U,
54 P, Privileged = P,
55 H, Hyperprivileged = H,

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

197
198class InterruptVector : public SparcFault<InterruptVector> {};
199
200class PAWatchpoint : public SparcFault<PAWatchpoint> {};
201
202class VAWatchpoint : public SparcFault<VAWatchpoint> {};
203
204class FastInstructionAccessMMUMiss :
202 public SparcFault<FastInstructionAccessMMUMiss> {};
205 public SparcFault
206{
207#if !FULL_SYSTEM
208 protected:
209 Addr vaddr;
210 public:
211 FastInstructionAccessMMUMiss(Addr addr) : vaddr(addr)
212 {}
213 void invoke(ThreadContext * tc);
214#endif
215};
203
216
204class FastDataAccessMMUMiss : public SparcFault<FastDataAccessMMUMiss> {};
217class FastDataAccessMMUMiss : public SparcFault
218{
219#if !FULL_SYSTEM
220 protected:
221 Addr vaddr;
222 public:
223 FastDataAccessMMUMiss(Addr addr) : vaddr(addr)
224 {}
225 void invoke(ThreadContext * tc);
226#endif
227};
205
206class FastDataAccessProtection : public SparcFault<FastDataAccessProtection> {};
207
208class InstructionBreakpoint : public SparcFault<InstructionBreakpoint> {};
209
210class CpuMondo : public SparcFault<CpuMondo> {};
211
212class DevMondo : public SparcFault<DevMondo> {};

--- 59 unchanged lines hidden ---
228
229class FastDataAccessProtection : public SparcFault<FastDataAccessProtection> {};
230
231class InstructionBreakpoint : public SparcFault<InstructionBreakpoint> {};
232
233class CpuMondo : public SparcFault<CpuMondo> {};
234
235class DevMondo : public SparcFault<DevMondo> {};

--- 59 unchanged lines hidden ---