137 #include <sys/signal.h>
156 #include "debug/GDBAcc.hh"
157 #include "debug/GDBMisc.hh"
165 using namespace ArmISA;
168 :
BaseRemoteGDB(_system, tc), regCache32(this), regCache64(this)
181 DPRINTF(GDBAcc,
"acc: %#x mapping is invalid\n", va);
186 DPRINTF(GDBAcc,
"acc: %#x mapping is valid\n", va);
201 DPRINTF(GDBAcc,
"getRegs in remotegdb \n");
203 for (
int i = 0;
i < 31; ++
i)
209 for (
int i = 0;
i < 32*4;
i += 4) {
220 DPRINTF(GDBAcc,
"setRegs in remotegdb \n");
222 for (
int i = 0;
i < 31; ++
i)
231 for (
int i = 0;
i < 32*4;
i += 4) {
242 DPRINTF(GDBAcc,
"getRegs in remotegdb \n");
259 r.gpr[15] = context->
pcState().pc();
262 for (
int i=0;
i<8*3;
i++)
r.fpr[
i] = 0;
271 DPRINTF(GDBAcc,
"setRegs in remotegdb \n");
void setRegs(ThreadContext *) const
Set the ThreadContext's registers from the values in the raw buffer.
AArch32GdbRegCache regCache32
AArch64GdbRegCache regCache64
void getRegs(ThreadContext *)
Fill the raw buffer from the registers in the ThreadContext.
struct ArmISA::RemoteGDB::AArch64GdbRegCache::@7 r
virtual MiscReg readMiscRegNoEffect(int misc_reg) const =0
bool FullSystem
The FullSystem variable can be used to determine the current mode of simulation.
virtual void setMiscReg(int misc_reg, const MiscReg &val)=0
virtual Process * getProcessPtr()=0
bool virtvalid(ThreadContext *tc, Addr vaddr)
virtual void setIntReg(int reg_idx, uint64_t val)=0
virtual FloatRegBits readFloatRegBits(int reg_idx)=0
virtual TheISA::PCState pcState()=0
ThreadContext is the external interface to all thread state for anything outside of the CPU...
Concrete subclasses of this abstract class represent how the register values are transmitted on the w...
virtual void setFloatRegBits(int reg_idx, FloatRegBits val)=0
void getRegs(ThreadContext *)
virtual uint64_t readIntReg(int reg_idx)=0
BaseGdbRegCache * gdbRegs()
This class takes an arbitrary memory region (address/length pair) and generates a series of appropria...
void setRegs(ThreadContext *) const
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
Declarations of a non-full system Page Table.
bool done() const
Are we done? That is, did the last call to next() advance past the end of the region?
virtual bool lookup(Addr vaddr, TheISA::TlbEntry &entry)=0
Lookup function.
bool acc(Addr addr, size_t len)
bool inAArch64(ThreadContext *tc)
Declaration and inline definition of ChunkGenerator object.
virtual void setMiscRegNoEffect(int misc_reg, const MiscReg &val)=0