45 #include <sys/signal.h> 50 #include "arch/vtophys.hh" 60 #include "debug/GDBAcc.hh" 68 BaseRemoteGDB(_system, c, _port), regCache32(this), regCache64(this)
83 Addr endVa = va + len - 1;
84 if ((va & ~
mask(logBytes)) == (endVa & ~
mask(logBytes)))
110 DPRINTF(GDBAcc,
"getRegs in remotegdb \n");
140 DPRINTF(GDBAcc,
"getRegs in remotegdb \n");
162 DPRINTF(GDBAcc,
"setRegs in remotegdb \n");
182 warn(
"Remote gdb: Ignoring update to CS.\n");
184 warn(
"Remote gdb: Ignoring update to SS.\n");
186 warn(
"Remote gdb: Ignoring update to DS.\n");
188 warn(
"Remote gdb: Ignoring update to ES.\n");
190 warn(
"Remote gdb: Ignoring update to FS.\n");
192 warn(
"Remote gdb: Ignoring update to GS.\n");
198 DPRINTF(GDBAcc,
"setRegs in remotegdb \n");
210 warn(
"Remote gdb: Ignoring update to CS.\n");
212 warn(
"Remote gdb: Ignoring update to SS.\n");
214 warn(
"Remote gdb: Ignoring update to DS.\n");
216 warn(
"Remote gdb: Ignoring update to ES.\n");
218 warn(
"Remote gdb: Ignoring update to FS.\n");
220 warn(
"Remote gdb: Ignoring update to GS.\n");
virtual void setMiscReg(RegIndex misc_reg, RegVal val)=0
decltype(nullptr) constexpr NoFault
virtual BaseTLB * getDTBPtr()=0
virtual TheISA::PCState pcState() const =0
virtual RegVal readIntReg(RegIndex reg_idx) const =0
void getRegs(ThreadContext *)
Fill the raw buffer from the registers in the ThreadContext.
bool FullSystem
The FullSystem variable can be used to determine the current mode of simulation.
virtual Process * getProcessPtr()=0
Overload hash function for BasicBlockRange type.
ThreadContext is the external interface to all thread state for anything outside of the CPU...
bool acc(Addr addr, size_t len)
void getRegs(ThreadContext *)
Fill the raw buffer from the registers in the ThreadContext.
Fault startFunctional(ThreadContext *_tc, Addr &addr, unsigned &logBytes, BaseTLB::Mode mode)
X86GdbRegCache regCache32
Concrete subclasses of this abstract class represent how the register values are transmitted on the w...
BaseGdbRegCache * gdbRegs()
virtual void setIntReg(RegIndex reg_idx, RegVal val)=0
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
void setRegs(ThreadContext *) const
Set the ThreadContext's registers from the values in the raw buffer.
void setRegs(ThreadContext *) const
Set the ThreadContext's registers from the values in the raw buffer.
ThreadContext * context()
AMD64GdbRegCache regCache64
EmulationPageTable * pTable
virtual RegVal readMiscRegNoEffect(RegIndex misc_reg) const =0
Declarations of a non-full system Page Table.
This is exposed globally, independent of the ISA.
const Entry * lookup(Addr vaddr)
Lookup function.
std::shared_ptr< FaultBase > Fault