37a38,41
> class System;
> class ThreadContext;
> class PhysicalMemory;
>
40,43c44,49
< class RemoteGDB : public BaseRemoteGDB
< {
< public:
< //These needs to be written to suit ARM
---
> // registers for arm with vfpv3/neon
> const int NUMREGS = 41; /* r0-r15, cpsr, d0-d31, fpscr */
> const int REG_R0 = 0;
> const int REG_F0 = 8;
> const int REG_CPSR = 8; /* bit 512 to bit 543 */
> const int REG_FPSCR = 40; /* bit 2592 to bit 2623 */
45,47c51,52
< RemoteGDB(System *system, ThreadContext *context)
< : BaseRemoteGDB(system, context, 1)
< {}
---
> class RemoteGDB : public BaseRemoteGDB
> {
49,50c54,56
< bool acc(Addr, size_t)
< { panic("acc not implemented for ARM!"); }
---
> protected:
> Addr notTakenBkpt;
> Addr takenBkpt;
52,53c58,60
< void getregs()
< { panic("getregs not implemented for ARM!"); }
---
> protected:
> bool acc(Addr addr, size_t len);
> bool write(Addr addr, size_t size, const char *data);
55,56c62,63
< void setregs()
< { panic("setregs not implemented for ARM!"); }
---
> void getregs();
> void setregs();
58,59c65,66
< void clearSingleStep()
< { panic("clearSingleStep not implemented for ARM!"); }
---
> void clearSingleStep();
> void setSingleStep();
61,64c68,71
< void setSingleStep()
< { panic("setSingleStep not implemented for ARM!"); }
< };
< }
---
> public:
> RemoteGDB(System *_system, ThreadContext *tc);
> };
> } // namespace ArmISA