remote_gdb.hh (6019:76890d8b28f5) | remote_gdb.hh (7752:08e1e28a062a) |
---|---|
1/* 2 * Copyright (c) 2002-2005 The Regents of The University of Michigan 3 * Copyright (c) 2007-2008 The Florida State University 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions are 8 * met: redistributions of source code must retain the above copyright --- 21 unchanged lines hidden (view full) --- 30 * Stephen Hines 31 */ 32 33#ifndef __ARCH_ARM_REMOTE_GDB_HH__ 34#define __ARCH_ARM_REMOTE_GDB_HH__ 35 36#include "base/remote_gdb.hh" 37 | 1/* 2 * Copyright (c) 2002-2005 The Regents of The University of Michigan 3 * Copyright (c) 2007-2008 The Florida State University 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions are 8 * met: redistributions of source code must retain the above copyright --- 21 unchanged lines hidden (view full) --- 30 * Stephen Hines 31 */ 32 33#ifndef __ARCH_ARM_REMOTE_GDB_HH__ 34#define __ARCH_ARM_REMOTE_GDB_HH__ 35 36#include "base/remote_gdb.hh" 37 |
38class System; 39class ThreadContext; 40class PhysicalMemory; 41 |
|
38namespace ArmISA 39{ | 42namespace ArmISA 43{ |
40 class RemoteGDB : public BaseRemoteGDB 41 { 42 public: 43 //These needs to be written to suit ARM | 44// registers for arm with vfpv3/neon 45const int NUMREGS = 41; /* r0-r15, cpsr, d0-d31, fpscr */ 46const int REG_R0 = 0; 47const int REG_F0 = 8; 48const int REG_CPSR = 8; /* bit 512 to bit 543 */ 49const int REG_FPSCR = 40; /* bit 2592 to bit 2623 */ |
44 | 50 |
45 RemoteGDB(System *system, ThreadContext *context) 46 : BaseRemoteGDB(system, context, 1) 47 {} | 51class RemoteGDB : public BaseRemoteGDB 52{ |
48 | 53 |
49 bool acc(Addr, size_t) 50 { panic("acc not implemented for ARM!"); } | 54protected: 55 Addr notTakenBkpt; 56 Addr takenBkpt; |
51 | 57 |
52 void getregs() 53 { panic("getregs not implemented for ARM!"); } | 58protected: 59 bool acc(Addr addr, size_t len); 60 bool write(Addr addr, size_t size, const char *data); |
54 | 61 |
55 void setregs() 56 { panic("setregs not implemented for ARM!"); } | 62 void getregs(); 63 void setregs(); |
57 | 64 |
58 void clearSingleStep() 59 { panic("clearSingleStep not implemented for ARM!"); } | 65 void clearSingleStep(); 66 void setSingleStep(); |
60 | 67 |
61 void setSingleStep() 62 { panic("setSingleStep not implemented for ARM!"); } 63 }; 64} | 68public: 69 RemoteGDB(System *_system, ThreadContext *tc); 70}; 71} // namespace ArmISA |
65 66#endif /* __ARCH_ARM_REMOTE_GDB_H__ */ | 72 73#endif /* __ARCH_ARM_REMOTE_GDB_H__ */ |