process.hh (5962:e831b4360cfe) process.hh (5973:07444c3d0a07)
1/*
2 * Copyright (c) 2007 The Hewlett-Packard Development Company
3 * All rights reserved.
4 *
5 * Redistribution and use of this software in source and binary forms,
6 * with or without modification, are permitted provided that the
7 * following conditions are met:
8 *

--- 66 unchanged lines hidden (view full) ---

75
76 SyscallDesc *syscallDescs;
77 const int numSyscallDescs;
78
79 X86LiveProcess(LiveProcessParams * params, ObjectFile *objFile,
80 SyscallDesc *_syscallDescs, int _numSyscallDescs);
81
82 template<class IntType>
1/*
2 * Copyright (c) 2007 The Hewlett-Packard Development Company
3 * All rights reserved.
4 *
5 * Redistribution and use of this software in source and binary forms,
6 * with or without modification, are permitted provided that the
7 * following conditions are met:
8 *

--- 66 unchanged lines hidden (view full) ---

75
76 SyscallDesc *syscallDescs;
77 const int numSyscallDescs;
78
79 X86LiveProcess(LiveProcessParams * params, ObjectFile *objFile,
80 SyscallDesc *_syscallDescs, int _numSyscallDescs);
81
82 template<class IntType>
83 void argsInit(int pageSize);
83 void argsInit(int pageSize,
84 std::vector<AuxVector<IntType> > extraAuxvs);
84
85 public:
86 Addr gdtStart()
87 { return _gdtStart; }
88
89 Addr gdtSize()
90 { return _gdtSize; }
91

--- 17 unchanged lines hidden (view full) ---

109 };
110
111 class I386LiveProcess : public X86LiveProcess
112 {
113 protected:
114 I386LiveProcess(LiveProcessParams *params, ObjectFile *objFile,
115 SyscallDesc *_syscallDescs, int _numSyscallDescs);
116
85
86 public:
87 Addr gdtStart()
88 { return _gdtStart; }
89
90 Addr gdtSize()
91 { return _gdtSize; }
92

--- 17 unchanged lines hidden (view full) ---

110 };
111
112 class I386LiveProcess : public X86LiveProcess
113 {
114 protected:
115 I386LiveProcess(LiveProcessParams *params, ObjectFile *objFile,
116 SyscallDesc *_syscallDescs, int _numSyscallDescs);
117
118 class VSyscallPage
119 {
120 public:
121 Addr base;
122 Addr size;
123 Addr vsyscallOffset;
124 Addr vsysexitOffset;
125 };
126 VSyscallPage vsyscallPage;
127
117 public:
118 void argsInit(int intSize, int pageSize);
119 void startup();
120
128 public:
129 void argsInit(int intSize, int pageSize);
130 void startup();
131
132 void syscall(int64_t callnum, ThreadContext *tc);
121 X86ISA::IntReg getSyscallArg(ThreadContext *tc, int i);
122 void setSyscallArg(ThreadContext *tc, int i, X86ISA::IntReg val);
123 };
124}
125
126#endif // __ARCH_X86_PROCESS_HH__
133 X86ISA::IntReg getSyscallArg(ThreadContext *tc, int i);
134 void setSyscallArg(ThreadContext *tc, int i, X86ISA::IntReg val);
135 };
136}
137
138#endif // __ARCH_X86_PROCESS_HH__