process.hh (10299:bec0c5ffc323) process.hh (10537:47fe87b0cf97)
1/*
2* Copyright (c) 2012 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

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

62 ObjectFile::Arch _arch);
63 template<class IntType>
64 void argsInit(int pageSize, ArmISA::IntRegIndex spIndex);
65};
66
67class ArmLiveProcess32 : public ArmLiveProcess
68{
69 protected:
1/*
2* Copyright (c) 2012 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

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

62 ObjectFile::Arch _arch);
63 template<class IntType>
64 void argsInit(int pageSize, ArmISA::IntRegIndex spIndex);
65};
66
67class ArmLiveProcess32 : public ArmLiveProcess
68{
69 protected:
70 ObjectFile::Arch arch;
71 ArmLiveProcess32(LiveProcessParams * params, ObjectFile *objFile,
72 ObjectFile::Arch _arch);
73
74 void initState();
75
76 public:
77
78 ArmISA::IntReg getSyscallArg(ThreadContext *tc, int &i, int width);
79 ArmISA::IntReg getSyscallArg(ThreadContext *tc, int &i);
80 void setSyscallArg(ThreadContext *tc, int i, ArmISA::IntReg val);
81 void setSyscallReturn(ThreadContext *tc, SyscallReturn return_value);
82};
83
84class ArmLiveProcess64 : public ArmLiveProcess
85{
86 protected:
70 ArmLiveProcess32(LiveProcessParams * params, ObjectFile *objFile,
71 ObjectFile::Arch _arch);
72
73 void initState();
74
75 public:
76
77 ArmISA::IntReg getSyscallArg(ThreadContext *tc, int &i, int width);
78 ArmISA::IntReg getSyscallArg(ThreadContext *tc, int &i);
79 void setSyscallArg(ThreadContext *tc, int i, ArmISA::IntReg val);
80 void setSyscallReturn(ThreadContext *tc, SyscallReturn return_value);
81};
82
83class ArmLiveProcess64 : public ArmLiveProcess
84{
85 protected:
87 ObjectFile::Arch arch;
88 ArmLiveProcess64(LiveProcessParams * params, ObjectFile *objFile,
89 ObjectFile::Arch _arch);
90
91 void initState();
92
93 public:
94
95 ArmISA::IntReg getSyscallArg(ThreadContext *tc, int &i, int width);
96 ArmISA::IntReg getSyscallArg(ThreadContext *tc, int &i);
97 void setSyscallArg(ThreadContext *tc, int i, ArmISA::IntReg val);
98 void setSyscallReturn(ThreadContext *tc, SyscallReturn return_value);
99};
100
101/* No architectural page table defined for this ISA */
102typedef NoArchPageTable ArchPageTable;
103
104#endif // __ARM_PROCESS_HH__
105
86 ArmLiveProcess64(LiveProcessParams * params, ObjectFile *objFile,
87 ObjectFile::Arch _arch);
88
89 void initState();
90
91 public:
92
93 ArmISA::IntReg getSyscallArg(ThreadContext *tc, int &i, int width);
94 ArmISA::IntReg getSyscallArg(ThreadContext *tc, int &i);
95 void setSyscallArg(ThreadContext *tc, int i, ArmISA::IntReg val);
96 void setSyscallReturn(ThreadContext *tc, SyscallReturn return_value);
97};
98
99/* No architectural page table defined for this ISA */
100typedef NoArchPageTable ArchPageTable;
101
102#endif // __ARM_PROCESS_HH__
103