summaryrefslogtreecommitdiffstats
path: root/sys/amd64
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2015-11-13 00:50:34 +0000
committerjhb <jhb@FreeBSD.org>2015-11-13 00:50:34 +0000
commitf91ade9d24ff00c5f6f2b46422df18bd732f9201 (patch)
treecb4ebd85aec87dff49494a6f7db8147f15c10321 /sys/amd64
parentd10f13372071e4697871503bf0a1ed4b584c55d1 (diff)
downloadFreeBSD-src-f91ade9d24ff00c5f6f2b46422df18bd732f9201.zip
FreeBSD-src-f91ade9d24ff00c5f6f2b46422df18bd732f9201.tar.gz
MFC 284325:
Report the values of x86 segment registers to remote debuggers. While here, also report %eflags from the i386 trapframe.
Diffstat (limited to 'sys/amd64')
-rw-r--r--sys/amd64/amd64/gdb_machdep.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/amd64/amd64/gdb_machdep.c b/sys/amd64/amd64/gdb_machdep.c
index 5775c8f..61ffad6 100644
--- a/sys/amd64/amd64/gdb_machdep.c
+++ b/sys/amd64/amd64/gdb_machdep.c
@@ -48,6 +48,8 @@ __FBSDID("$FreeBSD$");
void *
gdb_cpu_getreg(int regnum, size_t *regsz)
{
+ static uint32_t _kcodesel = GSEL(GCODE_SEL, SEL_KPL);
+ static uint32_t _kdatasel = GSEL(GDATA_SEL, SEL_KPL);
*regsz = gdb_cpu_regsz(regnum);
@@ -76,6 +78,8 @@ gdb_cpu_getreg(int regnum, size_t *regsz)
case 14: return (&kdb_thrctx->pcb_r14);
case 15: return (&kdb_thrctx->pcb_r15);
case 16: return (&kdb_thrctx->pcb_rip);
+ case 18: return (&_kcodesel);
+ case 19: return (&_kdatasel);
}
return (NULL);
}
OpenPOWER on IntegriCloud