freebsd-skq/sys/amd64/include
marcel c106bd9120 Change gdb_cpu_setreg() to not take the value to which to set the
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
2004-12-01 06:40:35 +00:00
..
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