remote_gdb.hh (12173:5887d5a1b6a2) | remote_gdb.hh (12449:2260f4a68210) |
---|---|
1/* 2 * Copyright (c) 2015 LabWare 3 * Copyright (c) 2002-2005 The Regents of The University of Michigan 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 --- 37 unchanged lines hidden (view full) --- 46 47namespace AlphaISA { 48 49class RemoteGDB : public BaseRemoteGDB 50{ 51 protected: 52 // Machine memory 53 bool acc(Addr addr, size_t len) override; | 1/* 2 * Copyright (c) 2015 LabWare 3 * Copyright (c) 2002-2005 The Regents of The University of Michigan 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 --- 37 unchanged lines hidden (view full) --- 46 47namespace AlphaISA { 48 49class RemoteGDB : public BaseRemoteGDB 50{ 51 protected: 52 // Machine memory 53 bool acc(Addr addr, size_t len) override; |
54 bool write(Addr addr, size_t size, const char *data) override; | |
55 | 54 |
56 void insertHardBreak(Addr addr, size_t len) override; 57 | |
58 class AlphaGdbRegCache : public BaseGdbRegCache 59 { 60 using BaseGdbRegCache::BaseGdbRegCache; 61 private: 62 struct { 63 uint64_t gpr[32]; 64 uint64_t fpr[32]; 65 uint64_t pc; 66 uint64_t vfp; 67 } r; 68 public: 69 char *data() const { return (char *)&r; } 70 size_t size() const { return sizeof(r); } 71 void getRegs(ThreadContext*); 72 void setRegs(ThreadContext*) const; | 55 class AlphaGdbRegCache : public BaseGdbRegCache 56 { 57 using BaseGdbRegCache::BaseGdbRegCache; 58 private: 59 struct { 60 uint64_t gpr[32]; 61 uint64_t fpr[32]; 62 uint64_t pc; 63 uint64_t vfp; 64 } r; 65 public: 66 char *data() const { return (char *)&r; } 67 size_t size() const { return sizeof(r); } 68 void getRegs(ThreadContext*); 69 void setRegs(ThreadContext*) const; |
73 const std::string name() const { return gdb->name() + ".AlphaGdbRegCache"; } | 70 const std::string 71 name() const 72 { 73 return gdb->name() + ".AlphaGdbRegCache"; 74 } |
74 }; 75 76 public: | 75 }; 76 77 public: |
77 RemoteGDB(System *system, ThreadContext *context); | 78 RemoteGDB(System *system, ThreadContext *context, int _port); |
78 BaseGdbRegCache *gdbRegs() override; 79}; 80 81} // namespace AlphaISA 82 83#endif // __ARCH_ALPHA_REMOTE_GDB_HH__ | 79 BaseGdbRegCache *gdbRegs() override; 80}; 81 82} // namespace AlphaISA 83 84#endif // __ARCH_ALPHA_REMOTE_GDB_HH__ |