45 #include <sys/signal.h>
50 #include "arch/vtophys.hh"
60 #include "debug/GDBAcc.hh"
65 using namespace X86ISA;
82 Addr endVa = va + len - 1;
83 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");
decltype(nullptr) constexpr NoFault
void setRegs(ThreadContext *) const
Set the ThreadContext's registers from the values in the raw buffer.
virtual MiscReg readMiscRegNoEffect(int misc_reg) 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 void setMiscReg(int misc_reg, const MiscReg &val)=0
virtual Process * getProcessPtr()=0
virtual void setIntReg(int reg_idx, uint64_t val)=0
virtual TheISA::PCState pcState()=0
BaseGdbRegCache * gdbRegs()
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...
bool acc(Addr addr, size_t len)
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.
virtual uint64_t readIntReg(int reg_idx)=0
Fault startFunctional(ThreadContext *_tc, Addr &addr, unsigned &logBytes, BaseTLB::Mode mode)
X86GdbRegCache regCache32
virtual TheISA::TLB * getDTBPtr()=0
TlbEntry(Addr asn, Addr _vaddr, Addr _paddr, bool uncacheable, bool read_only)
struct X86ISA::RemoteGDB::AMD64GdbRegCache::@24 r
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
AMD64GdbRegCache regCache64
Declarations of a non-full system Page Table.
virtual bool lookup(Addr vaddr, TheISA::TlbEntry &entry)=0
Lookup function.
std::shared_ptr< FaultBase > Fault