133#include <sys/signal.h>
139#include "arch/mips/gdb-xml/gdb_xml_mips.hh"
144#include "debug/GDBAcc.hh"
145#include "debug/GDBMisc.hh"
163RemoteGDB::acc(Addr va,
size_t len)
167 panic_if(FullSystem,
"acc not implemented for MIPS FS!");
168 return context()->getProcessPtr()->pTable->lookup(va) !=
nullptr;
174 DPRINTF(GDBAcc,
"getregs in remotegdb \n");
176 for (
int i = 0;
i < 32;
i++)
183 r.pc =
context->pcState().instAddr();
184 for (
int i = 0;
i < 32;
i++)
193 DPRINTF(GDBAcc,
"setregs in remotegdb \n");
195 for (
int i = 1;
i < 32;
i++)
203 for (
int i = 0;
i < 32;
i++)
218#define GDB_XML(x, s) \
219 { x, std::string(reinterpret_cast<const char *>(Blobs::s), \
221 static const std::map<std::string, std::string> annexMap {
222 GDB_XML(
"target.xml", gdb_xml_mips),
225 auto it = annexMap.find(annex);
226 if (it == annexMap.end())
RemoteGDB(System *_system, ListenSocketConfig _listen_config)
Concrete subclasses of this abstract class represent how the register values are transmitted on the w...
ThreadContext * context()
void setRegs(ThreadContext *) const
Set the ThreadContext's registers from the values in the raw buffer.
void getRegs(ThreadContext *)
Fill the raw buffer from the registers in the ThreadContext.
struct gem5::MipsISA::RemoteGDB::MipsGdbRegCache::@015032037237021156271256142073261054235167307345 r
BaseGdbRegCache * gdbRegs()
bool getXferFeaturesRead(const std::string &annex, std::string &output)
Get an XML target description.
ThreadContext is the external interface to all thread state for anything outside of the CPU.
#define panic_if(cond,...)
Conditional panic macro that checks the supplied condition and only panics if the condition is true a...
constexpr RegClass intRegClass(IntRegClass, IntRegClassName, int_reg::NumRegs, debug::IntRegs)
constexpr RegClass floatRegClass(FloatRegClass, FloatRegClassName, float_reg::NumRegs, debug::FloatRegs)
Copyright (c) 2024 Arm Limited All rights reserved.
static void output(const char *filename)
Declarations of a non-full system Page Table.