1a2,13
> * Copyright (c) 2011-2012 ARM Limited
> * All rights reserved
> *
> * The license below extends only to copyright in the software and shall
> * not be construed as granting a license to any other intellectual
> * property including but not limited to intellectual property relating
> * to a hardware implementation of the functionality of the software
> * licensed hereunder. You may use the software subject to the license
> * terms below provided that you ensure that this notice is replicated
> * unmodified and in its entirety in all distributions of the software,
> * modified or unmodified, in source code or in binary form.
> *
33a46,47
> #include <vector>
>
35a50,66
> class ArmLinuxProcessBits
> {
> protected:
> SyscallDesc* getLinuxDesc(int callnum);
>
> struct SyscallTable
> {
> int base;
> SyscallDesc *descs;
> int size;
>
> SyscallDesc *getDesc(int offset) const;
> };
>
> std::vector<SyscallTable> syscallTables;
> };
>
37c68
< class ArmLinuxProcess : public ArmLiveProcess
---
> class ArmLinuxProcess32 : public ArmLiveProcess32, public ArmLinuxProcessBits
40,41c71,72
< ArmLinuxProcess(LiveProcessParams * params, ObjectFile *objFile,
< ObjectFile::Arch _arch);
---
> ArmLinuxProcess32(LiveProcessParams * params, ObjectFile *objFile,
> ObjectFile::Arch _arch);
43,44d73
< virtual SyscallDesc* getDesc(int callnum);
<
47d75
< ArmISA::IntReg getSyscallArg(ThreadContext *tc, int &i);
50d77
< void setSyscallArg(ThreadContext *tc, int i, ArmISA::IntReg val);
52,54d78
< /// The target system's hostname.
< static const char *hostname;
<
58,59c82,83
< /// Array of syscall descriptors, indexed by call number.
< static SyscallDesc syscallDescs[];
---
> SyscallDesc* getDesc(int callnum);
> };
61,62c85,90
< /// Array of "arm private" syscall descriptors.
< static SyscallDesc privSyscallDescs[];
---
> /// A process with emulated Arm/Linux syscalls.
> class ArmLinuxProcess64 : public ArmLiveProcess64, public ArmLinuxProcessBits
> {
> public:
> ArmLinuxProcess64(LiveProcessParams * params, ObjectFile *objFile,
> ObjectFile::Arch _arch);
64,66c92,93
< const int Num_Syscall_Descs;
<
< const int Num_Priv_Syscall_Descs;
---
> void initState();
> SyscallDesc* getDesc(int callnum);