Deleted Added
sdiff udiff text old ( 9552:460cf901acba ) new ( 10037:5cac77888310 )
full compact
1/*
2 * Copyright (c) 2007-2008 The Florida State University
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;
9 * redistributions in binary form must reproduce the above copyright

--- 16 unchanged lines hidden (view full) ---

26 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 *
28 * Authors: Stephen Hines
29 */
30
31#ifndef __ARM_LINUX_PROCESS_HH__
32#define __ARM_LINUX_PROCESS_HH__
33
34#include "arch/arm/process.hh"
35
36/// A process with emulated Arm/Linux syscalls.
37class ArmLinuxProcess : public ArmLiveProcess
38{
39 public:
40 ArmLinuxProcess(LiveProcessParams * params, ObjectFile *objFile,
41 ObjectFile::Arch _arch);
42
43 virtual SyscallDesc* getDesc(int callnum);
44
45 void initState();
46
47 ArmISA::IntReg getSyscallArg(ThreadContext *tc, int &i);
48 /// Explicitly import the otherwise hidden getSyscallArg
49 using ArmLiveProcess::getSyscallArg;
50 void setSyscallArg(ThreadContext *tc, int i, ArmISA::IntReg val);
51
52 /// The target system's hostname.
53 static const char *hostname;
54
55 /// A page to hold "kernel" provided functions. The name might be wrong.
56 static const Addr commPage;
57
58 /// Array of syscall descriptors, indexed by call number.
59 static SyscallDesc syscallDescs[];
60
61 /// Array of "arm private" syscall descriptors.
62 static SyscallDesc privSyscallDescs[];
63
64 const int Num_Syscall_Descs;
65
66 const int Num_Priv_Syscall_Descs;
67};
68
69#endif // __ARM_LINUX_PROCESS_HH__