diff options
author | Lisa Hsu <hsul@eecs.umich.edu> | 2008-12-04 18:03:35 -0500 |
---|---|---|
committer | Lisa Hsu <hsul@eecs.umich.edu> | 2008-12-04 18:03:35 -0500 |
commit | e2c7618e508c6e5c0cbbd091eabb336f3e259465 (patch) | |
tree | b62bba786153422bcaffe32b285b9cb97ca23339 /src/arch | |
parent | 041ca19edc7ebd905b3fe3e1b731c0b19a146896 (diff) | |
download | gem5-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.hh | 20 | ||||
-rw-r--r-- | src/arch/x86/process.cc | 9 | ||||
-rw-r--r-- | src/arch/x86/process.hh | 16 |
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(); |