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/sim | |
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/sim')
-rw-r--r-- | src/sim/process.cc | 10 | ||||
-rw-r--r-- | src/sim/process.hh | 16 |
2 files changed, 26 insertions, 0 deletions
diff --git a/src/sim/process.cc b/src/sim/process.cc index dab374d84..73adc96e3 100644 --- a/src/sim/process.cc +++ b/src/sim/process.cc @@ -86,6 +86,16 @@ using namespace TheISA; // current number of allocated processes int num_processes = 0; +template<class IntType> +M5_auxv_t<IntType>::M5_auxv_t(IntType type, IntType val) +{ + a_type = TheISA::htog(type); + a_val = TheISA::htog(val); +} + +template class M5_auxv_t<uint32_t>; +template class M5_auxv_t<uint64_t>; + Process::Process(ProcessParams * params) : SimObject(params), system(params->system), checkpointRestored(false), max_stack_size(params->max_stack_size) diff --git a/src/sim/process.hh b/src/sim/process.hh index d6ed59ced..996663847 100644 --- a/src/sim/process.hh +++ b/src/sim/process.hh @@ -61,6 +61,22 @@ namespace TheISA class RemoteGDB; } +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); +}; + class Process : public SimObject { public: |