process.hh (10810:683ab55819fd) process.hh (11851:824055fe6b30)
1/*
2 * Copyright (c) 2015 Ruslan Bukin <br@bsdpad.com>
3 * All rights reserved.
4 *
5 * This software was developed by the University of Cambridge Computer
6 * Laboratory as part of the CTSRD Project, with support from the UK Higher
7 * Education Innovation Fund (HEIF).
8 *

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

50
51 SyscallDesc *getDesc(int offset) const;
52 };
53
54 std::vector<SyscallTable> syscallTables;
55};
56
57/// A process with emulated Arm/Freebsd syscalls.
1/*
2 * Copyright (c) 2015 Ruslan Bukin <br@bsdpad.com>
3 * All rights reserved.
4 *
5 * This software was developed by the University of Cambridge Computer
6 * Laboratory as part of the CTSRD Project, with support from the UK Higher
7 * Education Innovation Fund (HEIF).
8 *

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

50
51 SyscallDesc *getDesc(int offset) const;
52 };
53
54 std::vector<SyscallTable> syscallTables;
55};
56
57/// A process with emulated Arm/Freebsd syscalls.
58class ArmFreebsdProcess32 : public ArmLiveProcess32, public ArmFreebsdProcessBits
58class ArmFreebsdProcess32 : public ArmProcess32, public ArmFreebsdProcessBits
59{
60 public:
59{
60 public:
61 ArmFreebsdProcess32(LiveProcessParams * params, ObjectFile *objFile,
62 ObjectFile::Arch _arch);
61 ArmFreebsdProcess32(ProcessParams * params, ObjectFile *objFile,
62 ObjectFile::Arch _arch);
63
64 void initState();
65
66 /// Explicitly import the otherwise hidden getSyscallArg
63
64 void initState();
65
66 /// Explicitly import the otherwise hidden getSyscallArg
67 using ArmLiveProcess::getSyscallArg;
67 using ArmProcess::getSyscallArg;
68
69 /// A page to hold "kernel" provided functions. The name might be wrong.
70 static const Addr commPage;
71
72 SyscallDesc* getDesc(int callnum);
73};
74
75/// A process with emulated Arm/Freebsd syscalls.
68
69 /// A page to hold "kernel" provided functions. The name might be wrong.
70 static const Addr commPage;
71
72 SyscallDesc* getDesc(int callnum);
73};
74
75/// A process with emulated Arm/Freebsd syscalls.
76class ArmFreebsdProcess64 : public ArmLiveProcess64, public ArmFreebsdProcessBits
76class ArmFreebsdProcess64 : public ArmProcess64, public ArmFreebsdProcessBits
77{
78 public:
77{
78 public:
79 ArmFreebsdProcess64(LiveProcessParams * params, ObjectFile *objFile,
80 ObjectFile::Arch _arch);
79 ArmFreebsdProcess64(ProcessParams * params, ObjectFile *objFile,
80 ObjectFile::Arch _arch);
81
82 void initState();
83 SyscallDesc* getDesc(int callnum);
84};
85
86#endif // __ARCH_ARM_FREEBSD_PROCESS_HH__
81
82 void initState();
83 SyscallDesc* getDesc(int callnum);
84};
85
86#endif // __ARCH_ARM_FREEBSD_PROCESS_HH__