process.hh (11320:42ecb523c64a) | process.hh (11851:824055fe6b30) |
---|---|
1/* 2 * Copyright (c) 2007 The Hewlett-Packard Development Company 3 * All rights reserved. 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 41 unchanged lines hidden (view full) --- 50 51namespace X86ISA 52{ 53 enum X86AuxiliaryVectorTypes { 54 M5_AT_SYSINFO = 32, 55 M5_AT_SYSINFO_EHDR = 33 56 }; 57 | 1/* 2 * Copyright (c) 2007 The Hewlett-Packard Development Company 3 * All rights reserved. 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 41 unchanged lines hidden (view full) --- 50 51namespace X86ISA 52{ 53 enum X86AuxiliaryVectorTypes { 54 M5_AT_SYSINFO = 32, 55 M5_AT_SYSINFO_EHDR = 33 56 }; 57 |
58 class X86LiveProcess : public LiveProcess | 58 class X86Process : public Process |
59 { 60 protected: 61 Addr _gdtStart; 62 Addr _gdtSize; 63 64 SyscallDesc *syscallDescs; 65 const int numSyscallDescs; 66 | 59 { 60 protected: 61 Addr _gdtStart; 62 Addr _gdtSize; 63 64 SyscallDesc *syscallDescs; 65 const int numSyscallDescs; 66 |
67 X86LiveProcess(LiveProcessParams * params, ObjectFile *objFile, 68 SyscallDesc *_syscallDescs, int _numSyscallDescs); | 67 X86Process(ProcessParams * params, ObjectFile *objFile, 68 SyscallDesc *_syscallDescs, int _numSyscallDescs); |
69 70 template<class IntType> 71 void argsInit(int pageSize, 72 std::vector<AuxVector<IntType> > extraAuxvs); 73 74 public: 75 Addr gdtStart() 76 { return _gdtStart; } 77 78 Addr gdtSize() 79 { return _gdtSize; } 80 81 SyscallDesc* getDesc(int callnum); 82 83 void setSyscallReturn(ThreadContext *tc, SyscallReturn return_value); 84 }; 85 | 69 70 template<class IntType> 71 void argsInit(int pageSize, 72 std::vector<AuxVector<IntType> > extraAuxvs); 73 74 public: 75 Addr gdtStart() 76 { return _gdtStart; } 77 78 Addr gdtSize() 79 { return _gdtSize; } 80 81 SyscallDesc* getDesc(int callnum); 82 83 void setSyscallReturn(ThreadContext *tc, SyscallReturn return_value); 84 }; 85 |
86 class X86_64LiveProcess : public X86LiveProcess | 86 class X86_64Process : public X86Process |
87 { 88 protected: | 87 { 88 protected: |
89 X86_64LiveProcess(LiveProcessParams *params, ObjectFile *objFile, 90 SyscallDesc *_syscallDescs, int _numSyscallDescs); | 89 X86_64Process(ProcessParams *params, ObjectFile *objFile, 90 SyscallDesc *_syscallDescs, int _numSyscallDescs); |
91 92 class VSyscallPage 93 { 94 public: 95 Addr base; 96 Addr size; 97 Addr vtimeOffset; 98 Addr vgettimeofdayOffset; 99 }; 100 VSyscallPage vsyscallPage; 101 102 public: 103 void argsInit(int intSize, int pageSize); 104 void initState(); 105 106 X86ISA::IntReg getSyscallArg(ThreadContext *tc, int &i); 107 /// Explicitly import the otherwise hidden getSyscallArg | 91 92 class VSyscallPage 93 { 94 public: 95 Addr base; 96 Addr size; 97 Addr vtimeOffset; 98 Addr vgettimeofdayOffset; 99 }; 100 VSyscallPage vsyscallPage; 101 102 public: 103 void argsInit(int intSize, int pageSize); 104 void initState(); 105 106 X86ISA::IntReg getSyscallArg(ThreadContext *tc, int &i); 107 /// Explicitly import the otherwise hidden getSyscallArg |
108 using LiveProcess::getSyscallArg; | 108 using Process::getSyscallArg; |
109 void setSyscallArg(ThreadContext *tc, int i, X86ISA::IntReg val); 110 }; 111 | 109 void setSyscallArg(ThreadContext *tc, int i, X86ISA::IntReg val); 110 }; 111 |
112 class I386LiveProcess : public X86LiveProcess | 112 class I386Process : public X86Process |
113 { 114 protected: | 113 { 114 protected: |
115 I386LiveProcess(LiveProcessParams *params, ObjectFile *objFile, 116 SyscallDesc *_syscallDescs, int _numSyscallDescs); | 115 I386Process(ProcessParams *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; --- 23 unchanged lines hidden --- | 117 118 class VSyscallPage 119 { 120 public: 121 Addr base; 122 Addr size; 123 Addr vsyscallOffset; 124 Addr vsysexitOffset; --- 23 unchanged lines hidden --- |