summaryrefslogtreecommitdiff
path: root/src/arch
diff options
context:
space:
mode:
authorLisa Hsu <hsul@eecs.umich.edu>2008-12-04 18:03:35 -0500
committerLisa Hsu <hsul@eecs.umich.edu>2008-12-04 18:03:35 -0500
commite2c7618e508c6e5c0cbbd091eabb336f3e259465 (patch)
treeb62bba786153422bcaffe32b285b9cb97ca23339 /src/arch
parent041ca19edc7ebd905b3fe3e1b731c0b19a146896 (diff)
downloadgem5-e2c7618e508c6e5c0cbbd091eabb336f3e259465.tar.xz
This patch pulls out the auxiliary vector struct from individual ISA
LiveProcesses to the base LiveProcess definition so anyone can use them.
Diffstat (limited to 'src/arch')
-rw-r--r--src/arch/sparc/process.hh20
-rw-r--r--src/arch/x86/process.cc9
-rw-r--r--src/arch/x86/process.hh16
3 files changed, 3 insertions, 42 deletions
diff --git a/src/arch/sparc/process.hh b/src/arch/sparc/process.hh
index a37760139..95abb93d3 100644
--- a/src/arch/sparc/process.hh
+++ b/src/arch/sparc/process.hh
@@ -71,26 +71,6 @@ class SparcLiveProcess : public LiveProcess
virtual void flushWindows(ThreadContext *tc) = 0;
};
-template<class IntType>
-struct M5_auxv_t
-{
- IntType a_type;
- union {
- IntType a_val;
- IntType a_ptr;
- IntType a_fcn;
- };
-
- M5_auxv_t()
- {}
-
- M5_auxv_t(IntType type, IntType val)
- {
- a_type = SparcISA::htog(type);
- a_val = SparcISA::htog(val);
- }
-};
-
class Sparc32LiveProcess : public SparcLiveProcess
{
protected:
diff --git a/src/arch/x86/process.cc b/src/arch/x86/process.cc
index 52933b7f4..8d0cd5038 100644
--- a/src/arch/x86/process.cc
+++ b/src/arch/x86/process.cc
@@ -103,11 +103,6 @@
using namespace std;
using namespace X86ISA;
-M5_64_auxv_t::M5_64_auxv_t(int64_t type, int64_t val)
-{
- a_type = X86ISA::htog(type);
- a_val = X86ISA::htog(val);
-}
X86LiveProcess::X86LiveProcess(LiveProcessParams * params,
ObjectFile *objFile)
@@ -205,7 +200,9 @@ X86LiveProcess::startup()
void
X86LiveProcess::argsInit(int intSize, int pageSize)
{
- typedef M5_64_auxv_t auxv_t;
+ typedef M5_auxv_t<uint64_t> auxv_t;
+ std::vector<auxv_t> auxv;
+
Process::startup();
string filename;
diff --git a/src/arch/x86/process.hh b/src/arch/x86/process.hh
index 5def9e13d..d034d990e 100644
--- a/src/arch/x86/process.hh
+++ b/src/arch/x86/process.hh
@@ -64,26 +64,10 @@
namespace X86ISA
{
- struct M5_64_auxv_t
- {
- int64_t a_type;
- union {
- int64_t a_val;
- int64_t a_ptr;
- int64_t a_fcn;
- };
-
- M5_64_auxv_t()
- {}
-
- M5_64_auxv_t(int64_t type, int64_t val);
- };
class X86LiveProcess : public LiveProcess
{
protected:
- std::vector<M5_64_auxv_t> auxv;
-
X86LiveProcess(LiveProcessParams * params, ObjectFile *objFile);
void startup();