bcc5241c43
specified register, but a pointer to the in-memory representation of that value. The reason for this is twofold: 1. Not all registers can be represented by a register_t. In particular FP registers fall in that category. Passing the new register value by reference instead of by value makes this point moot. 2. When we receive a G or P packet, both are for writing a register, the packet will have the register value in target-byte order and in the memory representation (modulo the fact that bytes are sent as 2 printable hexadecimal numbers of course). We only need to decode the packet to have a pointer to the register value. This change fixes the bug of extracting the register value of the P packet as a hexadecimal number instead of as a bit array. The quick (and dirty) fix to bswap the register value in gdb_cpu_setreg() as it has been added on i386 and amd64 can therefore be removed and has in fact been that. Tested on: alpha, amd64, i386, ia64, sparc64 |
||
---|---|---|
.. | ||
pc | ||
_inttypes.h | ||
_limits.h | ||
_stdint.h | ||
_types.h | ||
acpica_machdep.h | ||
apicreg.h | ||
apicvar.h | ||
asm.h | ||
asmacros.h | ||
atomic.h | ||
bus_amd64.h | ||
bus_dma.h | ||
bus_memio.h | ||
bus_pio.h | ||
bus.h | ||
clock.h | ||
cpu.h | ||
cpufunc.h | ||
cputypes.h | ||
critical.h | ||
db_machdep.h | ||
elf.h | ||
endian.h | ||
exec.h | ||
float.h | ||
floatingpoint.h | ||
fpu.h | ||
frame.h | ||
gdb_machdep.h | ||
ieeefp.h | ||
in_cksum.h | ||
intr_machdep.h | ||
iodev.h | ||
kdb.h | ||
legacyvar.h | ||
limits.h | ||
md_var.h | ||
memdev.h | ||
metadata.h | ||
mp_watchdog.h | ||
mptable.h | ||
mutex.h | ||
param.h | ||
pcb_ext.h | ||
pcb.h | ||
pci_cfgreg.h | ||
pcpu.h | ||
pmap.h | ||
proc.h | ||
profile.h | ||
psl.h | ||
ptrace.h | ||
reg.h | ||
reloc.h | ||
resource.h | ||
runq.h | ||
segments.h | ||
setjmp.h | ||
sf_buf.h | ||
sigframe.h | ||
signal.h | ||
smp.h | ||
specialreg.h | ||
stdarg.h | ||
sysarch.h | ||
trap.h | ||
tss.h | ||
ucontext.h | ||
varargs.h | ||
vmparam.h |