summaryrefslogtreecommitdiff
path: root/src/arch/sparc/faults.hh
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2006-10-25 17:49:41 -0400
committerGabe Black <gblack@eecs.umich.edu>2006-10-25 17:49:41 -0400
commite2eef8859b44dbb9d307f6ff50047bdb6b730277 (patch)
tree673d8f48dcb2287431ca9a42678fae780320ebf0 /src/arch/sparc/faults.hh
parent1b1495930c74bab639f0985c2d55f767336aa59b (diff)
downloadgem5-e2eef8859b44dbb9d307f6ff50047bdb6b730277.tar.xz
Implemented the SPARC fill and spill handlers.
src/arch/sparc/faults.cc: src/arch/sparc/faults.hh: Added a function to do normal SPARC trap processing, and implemented the spill and fill faults for SE src/arch/sparc/process.cc: src/arch/sparc/process.hh: Added fill and spill handlers which are stuffed into the processes address space. The location of these handlers are stored in fillStart and spillStart. --HG-- extra : convert_revision : 59adb96570cce86f373fbc2c3e4c05abe1742d3b
Diffstat (limited to 'src/arch/sparc/faults.hh')
-rw-r--r--src/arch/sparc/faults.hh6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/arch/sparc/faults.hh b/src/arch/sparc/faults.hh
index b279f4911..394a06294 100644
--- a/src/arch/sparc/faults.hh
+++ b/src/arch/sparc/faults.hh
@@ -39,8 +39,8 @@
namespace SparcISA
{
-typedef const uint32_t TrapType;
-typedef const uint32_t FaultPriority;
+typedef uint32_t TrapType;
+typedef uint32_t FaultPriority;
class SparcFault : public FaultBase
{
@@ -547,6 +547,7 @@ class SpillNNormal : public EnumeratedFault
FaultName name() {return _name;}
FaultPriority priority() {return _priority;}
FaultStat & countStat() {return _count;}
+ void invoke(ThreadContext * tc);
};
class SpillNOther : public EnumeratedFault
@@ -577,6 +578,7 @@ class FillNNormal : public EnumeratedFault
FaultName name() {return _name;}
FaultPriority priority() {return _priority;}
FaultStat & countStat() {return _count;}
+ void invoke(ThreadContext * tc);
};
class FillNOther : public EnumeratedFault