summaryrefslogtreecommitdiff
path: root/src/arch/x86/process.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/x86/process.hh')
-rw-r--r--src/arch/x86/process.hh14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/arch/x86/process.hh b/src/arch/x86/process.hh
index 2d72d3fd0..cd6d99e66 100644
--- a/src/arch/x86/process.hh
+++ b/src/arch/x86/process.hh
@@ -80,7 +80,8 @@ namespace X86ISA
SyscallDesc *_syscallDescs, int _numSyscallDescs);
template<class IntType>
- void argsInit(int pageSize);
+ void argsInit(int pageSize,
+ std::vector<AuxVector<IntType> > extraAuxvs);
public:
Addr gdtStart()
@@ -114,10 +115,21 @@ namespace X86ISA
I386LiveProcess(LiveProcessParams *params, ObjectFile *objFile,
SyscallDesc *_syscallDescs, int _numSyscallDescs);
+ class VSyscallPage
+ {
+ public:
+ Addr base;
+ Addr size;
+ Addr vsyscallOffset;
+ Addr vsysexitOffset;
+ };
+ VSyscallPage vsyscallPage;
+
public:
void argsInit(int intSize, int pageSize);
void startup();
+ void syscall(int64_t callnum, ThreadContext *tc);
X86ISA::IntReg getSyscallArg(ThreadContext *tc, int i);
void setSyscallArg(ThreadContext *tc, int i, X86ISA::IntReg val);
};