44#ifndef __ARCH_ARM_REMOTE_GDB_HH__
45#define __ARCH_ARM_REMOTE_GDB_HH__
80 char *
data()
const override {
return (
char *)&
r; }
81 size_t size()
const override {
return sizeof(
r); }
87 return gdb->
name() +
".AArch32GdbRegCache";
106 char *
data()
const 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;
char * data() const 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.
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
char * data() const override
Return the pointer to the raw bytes buffer containing the register values.
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)
const int NumVecV8ArchRegs
constexpr unsigned NumVecElemPerNeonVecReg
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria 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]