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, 84 std::vector<AuxVector<IntType> > extraAuxvs); |
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 |
128 public: 129 void argsInit(int intSize, int pageSize); 130 void startup(); 131 |
132 void syscall(int64_t callnum, ThreadContext *tc); |
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__ |