process.hh (5955:d35d2b28df38) | process.hh (5956:a49d9413a9e8) |
---|---|
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 * --- 51 unchanged lines hidden (view full) --- 60 61#include "sim/process.hh" 62#include "arch/x86/linux/linux.hh" 63#include "arch/x86/syscallreturn.hh" 64#include "arch/x86/process.hh" 65 66namespace X86ISA { 67 | 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 * --- 51 unchanged lines hidden (view full) --- 60 61#include "sim/process.hh" 62#include "arch/x86/linux/linux.hh" 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 | 68class X86_64LinuxProcess : public X86_64LiveProcess |
70{ 71 protected: | 69{ 70 protected: |
72 SyscallDesc *syscallDescs; | 71 /// Array of syscall descriptors, indexed by call number. 72 static SyscallDesc syscallDescs[]; |
73 | 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 | |
83 public: | 74 public: |
84 SyscallDesc* getDesc(int callnum); 85}; 86 87class X86_64LinuxProcess : public X86LinuxProcess 88{ 89 public: | |
90 /// Constructor. 91 X86_64LinuxProcess(LiveProcessParams * params, ObjectFile *objFile); | 75 /// Constructor. 76 X86_64LinuxProcess(LiveProcessParams * params, ObjectFile *objFile); |
77}; |
|
92 | 78 |
79class I386LinuxProcess : public I386LiveProcess 80{ 81 protected: |
|
93 /// Array of syscall descriptors, indexed by call number. 94 static SyscallDesc syscallDescs[]; | 82 /// Array of syscall descriptors, indexed by call number. 83 static SyscallDesc syscallDescs[]; |
95}; | |
96 | 84 |
97class I386LinuxProcess : public X86LinuxProcess 98{ | |
99 public: 100 /// Constructor. 101 I386LinuxProcess(LiveProcessParams * params, ObjectFile *objFile); | 85 public: 86 /// Constructor. 87 I386LinuxProcess(LiveProcessParams * params, ObjectFile *objFile); |
102 103 /// Array of syscall descriptors, indexed by call number. 104 static SyscallDesc syscallDescs[]; | |
105}; 106 107} // namespace X86ISA 108#endif // __X86_LINUX_PROCESS_HH__ | 88}; 89 90} // namespace X86ISA 91#endif // __X86_LINUX_PROCESS_HH__ |