summaryrefslogtreecommitdiff
path: root/src/arch/alpha/linux
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/alpha/linux')
-rw-r--r--src/arch/alpha/linux/process.cc7
-rw-r--r--src/arch/alpha/linux/process.hh2
2 files changed, 9 insertions, 0 deletions
diff --git a/src/arch/alpha/linux/process.cc b/src/arch/alpha/linux/process.cc
index 1ac53a5a0..26d5f26cd 100644
--- a/src/arch/alpha/linux/process.cc
+++ b/src/arch/alpha/linux/process.cc
@@ -620,3 +620,10 @@ AlphaLinuxProcess::getDesc(int callnum)
return NULL;
return &syscallDescs[callnum];
}
+
+void
+AlphaLinuxProcess::syscall(ThreadContext *tc, Fault *fault)
+{
+ doSyscall(tc->readIntReg(0), tc, fault);
+}
+
diff --git a/src/arch/alpha/linux/process.hh b/src/arch/alpha/linux/process.hh
index 46c22d288..991ddbd08 100644
--- a/src/arch/alpha/linux/process.hh
+++ b/src/arch/alpha/linux/process.hh
@@ -42,6 +42,8 @@ class AlphaLinuxProcess : public AlphaProcess
/// Constructor.
AlphaLinuxProcess(ProcessParams * params, ObjectFile *objFile);
+ void syscall(ThreadContext *tc, Fault *fault) override;
+
virtual SyscallDesc* getDesc(int callnum);
/// Array of syscall descriptors, indexed by call number.