Deleted Added
sdiff udiff text old ( 5955:d35d2b28df38 ) new ( 5956:a49d9413a9e8 )
full compact
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
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
83 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);
92
93 /// Array of syscall descriptors, indexed by call number.
94 static SyscallDesc syscallDescs[];
95};
96
97class I386LinuxProcess : public X86LinuxProcess
98{
99 public:
100 /// Constructor.
101 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__