summaryrefslogtreecommitdiff
path: root/src/sim
diff options
context:
space:
mode:
Diffstat (limited to 'src/sim')
-rw-r--r--src/sim/process.cc10
-rw-r--r--src/sim/process.hh16
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: