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__ |