process.hh (5154:7e6431213487) | process.hh (5955:d35d2b28df38) |
---|---|
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 * --- 54 unchanged lines hidden (view full) --- 63#include "arch/x86/syscallreturn.hh" 64#include "arch/x86/process.hh" 65 66namespace X86ISA { 67 68/// A process with emulated x86/Linux syscalls. 69class X86LinuxProcess : public X86LiveProcess 70{ | 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 * --- 54 unchanged lines hidden (view full) --- 63#include "arch/x86/syscallreturn.hh" 64#include "arch/x86/process.hh" 65 66namespace X86ISA { 67 68/// A process with emulated x86/Linux syscalls. 69class X86LinuxProcess : public X86LiveProcess 70{ |
71 protected: 72 SyscallDesc *syscallDescs; 73 74 const int Num_Syscall_Descs; 75 76 /// Constructor. 77 X86LinuxProcess(LiveProcessParams * params, ObjectFile *objFile, 78 SyscallDesc *_syscallDescs, int numSyscallDescs) : 79 X86LiveProcess(params, objFile), syscallDescs(_syscallDescs), 80 Num_Syscall_Descs(numSyscallDescs) 81 {} 82 |
|
71 public: | 83 public: |
84 SyscallDesc* getDesc(int callnum); 85}; 86 87class X86_64LinuxProcess : public X86LinuxProcess 88{ 89 public: |
|
72 /// Constructor. | 90 /// Constructor. |
73 X86LinuxProcess(LiveProcessParams * params, ObjectFile *objFile); | 91 X86_64LinuxProcess(LiveProcessParams * params, ObjectFile *objFile); |
74 75 /// Array of syscall descriptors, indexed by call number. 76 static SyscallDesc syscallDescs[]; | 92 93 /// Array of syscall descriptors, indexed by call number. 94 static SyscallDesc syscallDescs[]; |
95}; |
|
77 | 96 |
78 SyscallDesc* getDesc(int callnum); | 97class I386LinuxProcess : public X86LinuxProcess 98{ 99 public: 100 /// Constructor. 101 I386LinuxProcess(LiveProcessParams * params, ObjectFile *objFile); |
79 | 102 |
80 const int Num_Syscall_Descs; 81 82 void handleTrap(int trapNum, ThreadContext *tc); | 103 /// Array of syscall descriptors, indexed by call number. 104 static SyscallDesc syscallDescs[]; |
83}; 84 85} // namespace X86ISA 86#endif // __X86_LINUX_PROCESS_HH__ | 105}; 106 107} // namespace X86ISA 108#endif // __X86_LINUX_PROCESS_HH__ |