diff options
author | jhb <jhb@FreeBSD.org> | 2015-11-13 00:50:34 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2015-11-13 00:50:34 +0000 |
commit | f91ade9d24ff00c5f6f2b46422df18bd732f9201 (patch) | |
tree | cb4ebd85aec87dff49494a6f7db8147f15c10321 /sys/amd64 | |
parent | d10f13372071e4697871503bf0a1ed4b584c55d1 (diff) | |
download | FreeBSD-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.c | 4 |
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); } |