diff options
author | William Wang <William.Wang@arm.com> | 2010-11-15 14:04:03 -0600 |
---|---|---|
committer | William Wang <William.Wang@arm.com> | 2010-11-15 14:04:03 -0600 |
commit | 80db6a5ecb1ab836ca0d224ba2e88dd341dc2749 (patch) | |
tree | ac606c0a3896bb2a1cc3cc58e74aef8136c4715a /src/arch/arm/remote_gdb.hh | |
parent | 06864386a1de2f3f45c0079cd4e4795a294a7cba (diff) | |
download | gem5-80db6a5ecb1ab836ca0d224ba2e88dd341dc2749.tar.xz |
ARM: Add support for GDB on ARM
--HG--
rename : src/arch/alpha/remote_gdb.cc => src/arch/arm/remote_gdb.cc
Diffstat (limited to 'src/arch/arm/remote_gdb.hh')
-rw-r--r-- | src/arch/arm/remote_gdb.hh | 45 |
1 files changed, 26 insertions, 19 deletions
diff --git a/src/arch/arm/remote_gdb.hh b/src/arch/arm/remote_gdb.hh index ec8098c7a..9ff93b8e6 100644 --- a/src/arch/arm/remote_gdb.hh +++ b/src/arch/arm/remote_gdb.hh @@ -35,32 +35,39 @@ #include "base/remote_gdb.hh" +class System; +class ThreadContext; +class PhysicalMemory; + namespace ArmISA { - 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 */ - RemoteGDB(System *system, ThreadContext *context) - : BaseRemoteGDB(system, context, 1) - {} +class RemoteGDB : public BaseRemoteGDB +{ - bool acc(Addr, size_t) - { panic("acc not implemented for ARM!"); } +protected: + Addr notTakenBkpt; + Addr takenBkpt; - 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); - void setregs() - { panic("setregs not implemented for ARM!"); } + void getregs(); + void setregs(); - void clearSingleStep() - { panic("clearSingleStep not implemented for ARM!"); } + void clearSingleStep(); + void setSingleStep(); - void setSingleStep() - { panic("setSingleStep not implemented for ARM!"); } - }; -} +public: + RemoteGDB(System *_system, ThreadContext *tc); +}; +} // namespace ArmISA #endif /* __ARCH_ARM_REMOTE_GDB_H__ */ |