summaryrefslogtreecommitdiff
path: root/src/arch/sparc/process.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/process.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/process.hh')
-rw-r--r--src/arch/sparc/process.hh9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/arch/sparc/process.hh b/src/arch/sparc/process.hh
index 7cc52e241..2320810c7 100644
--- a/src/arch/sparc/process.hh
+++ b/src/arch/sparc/process.hh
@@ -55,6 +55,9 @@ class SparcLiveProcess : public LiveProcess
static const Addr StackBias = 2047;
+ //The locations of the fill and spill handlers
+ Addr fillStart, spillStart;
+
std::vector<m5_auxv_t> auxv;
SparcLiveProcess(const std::string &nm, ObjectFile *objFile,
@@ -71,6 +74,12 @@ class SparcLiveProcess : public LiveProcess
void argsInit(int intSize, int pageSize);
+ Addr readFillStart()
+ { return fillStart; }
+
+ Addr readSpillStart()
+ { return spillStart; }
+
};
#endif // __SPARC_PROCESS_HH__