44#ifndef __ARCH_ARM_REMOTE_GDB_HH__
45#define __ARCH_ARM_REMOTE_GDB_HH__
80 char *
data()
override {
return (
char *)&
r; }
81 size_t size()
const override {
return sizeof(
r); }
87 return gdb->name() +
".AArch32GdbRegCache";
106 char *
data()
override {
return (
char *)&
r; }
107 size_t size()
const override {
return sizeof(
r); }
113 return gdb->name() +
".AArch64GdbRegCache";
127 return {
"qXfer:features:read+"};
130 std::string &
output)
override;
BaseGdbRegCache(BaseRemoteGDB *g)
char * data() override
Return the pointer to the raw bytes buffer containing the register values.
size_t size() const override
Return the size of the raw buffer, in bytes (i.e., half of the number of digits in the g/G packet).
struct gem5::ArmISA::RemoteGDB::AArch32GdbRegCache::GEM5_PACKED r
void setRegs(ThreadContext *) const override
Set the ThreadContext's registers from the values in the raw buffer.
void getRegs(ThreadContext *) override
Fill the raw buffer from the registers in the ThreadContext.
const std::string name() const override
Return the name to use in places like DPRINTF.
const std::string name() const override
Return the name to use in places like DPRINTF.
char * data() override
Return the pointer to the raw bytes buffer containing the register values.
BaseGdbRegCache(BaseRemoteGDB *g)
void setRegs(ThreadContext *) const override
Set the ThreadContext's registers from the values in the raw buffer.
size_t size() const override
Return the size of the raw buffer, in bytes (i.e., half of the number of digits in the g/G packet).
struct gem5::ArmISA::RemoteGDB::AArch64GdbRegCache::GEM5_PACKED r
void getRegs(ThreadContext *) override
Fill the raw buffer from the registers in the ThreadContext.
bool checkBpKind(size_t kind) override
bool acc(Addr addr, size_t len) override
BaseGdbRegCache * gdbRegs() override
bool getXferFeaturesRead(const std::string &annex, std::string &output) override
Get an XML target description.
AArch64GdbRegCache regCache64
AArch32GdbRegCache regCache32
std::vector< std::string > availableFeatures() const override
RemoteGDB(System *_system, ListenSocketConfig _listen_config)
Concrete subclasses of this abstract class represent how the register values are transmitted on the w...
ThreadContext is the external interface to all thread state for anything outside of the CPU.
BaseGdbRegCache(BaseRemoteGDB *g)
BaseRemoteGDB(System *system, ListenSocketConfig _listen_config)
Interface to other parts of the simulator.
const int NumVecV8ArchRegs
constexpr unsigned NumVecElemPerNeonVecReg
Copyright (c) 2024 Arm Limited All rights reserved.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
static void output(const char *filename)
VecElem v[NumVecV8ArchRegs *NumVecElemPerNeonVecReg]