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 --- 65 unchanged lines hidden (view full) --- 74 75 public: 76 Addr gdtStart() 77 { return _gdtStart; } 78 79 Addr gdtSize() 80 { return _gdtSize; } 81 |
82 SyscallDesc* getDesc(int callnum) override; |
83 |
84 void setSyscallReturn(ThreadContext *tc, 85 SyscallReturn return_value) override; |
86 void clone(ThreadContext *old_tc, ThreadContext *new_tc, 87 Process *process, TheISA::IntReg flags); 88 89 X86Process & 90 operator=(const X86Process &in) 91 { 92 if (this == &in) 93 return *this; --- 33 unchanged lines hidden (view full) --- 127 128 return *this; 129 } 130 }; 131 VSyscallPage vsyscallPage; 132 133 public: 134 void argsInit(int pageSize); |
135 void initState() override; |
136 |
137 X86ISA::IntReg getSyscallArg(ThreadContext *tc, int &i) override; |
138 /// Explicitly import the otherwise hidden getSyscallArg 139 using Process::getSyscallArg; |
140 void setSyscallArg(ThreadContext *tc, int i, 141 X86ISA::IntReg val) override; |
142 void clone(ThreadContext *old_tc, ThreadContext *new_tc, 143 Process *process, TheISA::IntReg flags); 144 }; 145 146 class I386Process : public X86Process 147 { 148 protected: 149 I386Process(ProcessParams *params, ObjectFile *objFile, --- 20 unchanged lines hidden (view full) --- 170 171 return *this; 172 } 173 }; 174 VSyscallPage vsyscallPage; 175 176 public: 177 void argsInit(int pageSize); |
178 void initState() override; |
179 180 void syscall(int64_t callnum, ThreadContext *tc, 181 Fault *fault) override; |
182 X86ISA::IntReg getSyscallArg(ThreadContext *tc, 183 int &i) override; 184 X86ISA::IntReg getSyscallArg(ThreadContext *tc, int &i, 185 int width) override; 186 void setSyscallArg(ThreadContext *tc, int i, 187 X86ISA::IntReg val) override; |
188 void clone(ThreadContext *old_tc, ThreadContext *new_tc, 189 Process *process, TheISA::IntReg flags); 190 }; 191 192 /** 193 * Declaration of architectural page table for x86. 194 * 195 * These page tables are stored in system memory and respect x86 196 * specification. 197 */ 198 typedef MultiLevelPageTable<PageTableOps> ArchPageTable; 199 200} 201 202#endif // __ARCH_X86_PROCESS_HH__ |