remote_gdb.hh (11274:d9a0136ab8cc) | remote_gdb.hh (12031:46116545e745) |
---|---|
1/* 2 * Copyright 2015 LabWare 3 * Copyright 2014 Google, Inc. 4 * Copyright (c) 2013 ARM Limited 5 * All rights reserved 6 * 7 * The license below extends only to copyright in the software and shall 8 * not be construed as granting a license to any other intellectual --- 65 unchanged lines hidden (view full) --- 74 uint32_t fpscr; 75 uint32_t cpsr; 76 } r; 77 public: 78 char *data() const { return (char *)&r; } 79 size_t size() const { return sizeof(r); } 80 void getRegs(ThreadContext*); 81 void setRegs(ThreadContext*) const; | 1/* 2 * Copyright 2015 LabWare 3 * Copyright 2014 Google, Inc. 4 * Copyright (c) 2013 ARM Limited 5 * All rights reserved 6 * 7 * The license below extends only to copyright in the software and shall 8 * not be construed as granting a license to any other intellectual --- 65 unchanged lines hidden (view full) --- 74 uint32_t fpscr; 75 uint32_t cpsr; 76 } r; 77 public: 78 char *data() const { return (char *)&r; } 79 size_t size() const { return sizeof(r); } 80 void getRegs(ThreadContext*); 81 void setRegs(ThreadContext*) const; |
82 const std::string name() const { return gdb->name() + ".AArch32GdbRegCache"; } | 82 const std::string 83 name() const 84 { 85 return gdb->name() + ".AArch32GdbRegCache"; 86 } |
83 }; 84 85 class AArch64GdbRegCache : public BaseGdbRegCache 86 { 87 using BaseGdbRegCache::BaseGdbRegCache; 88 private: 89 struct { 90 uint64_t x[31]; 91 uint64_t spx; 92 uint64_t pc; 93 uint64_t cpsr; 94 uint32_t v[32*4]; 95 } r; 96 public: 97 char *data() const { return (char *)&r; } 98 size_t size() const { return sizeof(r); } 99 void getRegs(ThreadContext*); 100 void setRegs(ThreadContext*) const; | 87 }; 88 89 class AArch64GdbRegCache : public BaseGdbRegCache 90 { 91 using BaseGdbRegCache::BaseGdbRegCache; 92 private: 93 struct { 94 uint64_t x[31]; 95 uint64_t spx; 96 uint64_t pc; 97 uint64_t cpsr; 98 uint32_t v[32*4]; 99 } r; 100 public: 101 char *data() const { return (char *)&r; } 102 size_t size() const { return sizeof(r); } 103 void getRegs(ThreadContext*); 104 void setRegs(ThreadContext*) const; |
101 const std::string name() const { return gdb->name() + ".AArch64GdbRegCache"; } | 105 const std::string 106 name() const 107 { 108 return gdb->name() + ".AArch64GdbRegCache"; 109 } |
102 }; 103 | 110 }; 111 |
112 AArch32GdbRegCache regCache32; 113 AArch64GdbRegCache regCache64; 114 |
|
104 public: 105 RemoteGDB(System *_system, ThreadContext *tc); 106 BaseGdbRegCache *gdbRegs(); 107}; 108} // namespace ArmISA 109 110#endif /* __ARCH_ARM_REMOTE_GDB_H__ */ | 115 public: 116 RemoteGDB(System *_system, ThreadContext *tc); 117 BaseGdbRegCache *gdbRegs(); 118}; 119} // namespace ArmISA 120 121#endif /* __ARCH_ARM_REMOTE_GDB_H__ */ |