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"
152using namespace MipsISA;
155 : BaseRemoteGDB(_system, _listen_config), regCache(this)
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++)
179 r.lo = context->
getReg(int_reg::Lo);
180 r.hi = context->
getReg(int_reg::Hi);
184 for (
int i = 0;
i < 32;
i++)
186 r.fsr = context->
getReg(float_reg::Fccr);
187 r.fir = context->
getReg(float_reg::Fir);
193 DPRINTF(GDBAcc,
"setregs in remotegdb \n");
195 for (
int i = 1;
i < 32;
i++)
198 context->
setReg(int_reg::Lo, r.lo);
199 context->
setReg(int_reg::Hi, r.hi);
203 for (
int i = 0;
i < 32;
i++)
205 context->
setReg(float_reg::Fccr, r.fsr);
206 context->
setReg(float_reg::Fir, r.fir);
216RemoteGDB::getXferFeaturesRead(
const std::string &annex, std::string &output)
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...
Addr instAddr() const
Returns the memory address of the instruction this PC points to.
ThreadContext is the external interface to all thread state for anything outside of the CPU.
virtual RegVal getReg(const RegId ®) const
virtual void setMiscRegNoEffect(RegIndex misc_reg, RegVal val)=0
virtual void setReg(const RegId ®, RegVal val)
virtual const PCStateBase & pcState() const =0
virtual RegVal readMiscRegNoEffect(RegIndex misc_reg) const =0
#define panic_if(cond,...)
Conditional panic macro that checks the supplied condition and only panics if the condition is true a...
constexpr RegClass intRegClass
constexpr RegClass floatRegClass
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
Declarations of a non-full system Page Table.