mirror of
https://git.hardenedbsd.org/hardenedbsd/HardenedBSD.git
synced 2024-12-21 16:32:25 +01:00
Document the support in the kernel for hardware debug registers on the
ix86 platform which allows for hardware watchpoints, etc... Submitted by: Brian Dean <brdean@unx.sas.com>
This commit is contained in:
parent
e7e960abeb
commit
ed0010ed09
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=57168
@ -202,6 +202,23 @@ it loads the traced process' floating-point registers from the
|
||||
.Aq Pa machine/reg.h )
|
||||
pointed to by
|
||||
.Fa addr .
|
||||
.It Dv PT_GETDBREGS
|
||||
This request reads the traced process' debug registers into
|
||||
the
|
||||
.Dq Li "struct dbreg"
|
||||
(defined in
|
||||
.Aq Pa machine/reg.h )
|
||||
pointed to by
|
||||
.Fa addr .
|
||||
.It Dv PT_SETDBREGS
|
||||
This request is the converse of
|
||||
.Dv PT_GETDBREGS ;
|
||||
it loads the traced process' debug registers from the
|
||||
.Dq Li "struct dbreg"
|
||||
(defined in
|
||||
.Aq Pa machine/reg.h )
|
||||
pointed to by
|
||||
.Fa addr .
|
||||
.El
|
||||
.Sh RETURN VALUES
|
||||
Some requests can cause
|
||||
@ -250,8 +267,10 @@ was neither 0 nor a legal signal number.
|
||||
.Dv PT_GETREGS ,
|
||||
.Dv PT_SETREGS ,
|
||||
.Dv PT_GETFPREGS ,
|
||||
.Dv PT_SETFPREGS ,
|
||||
.Dv PT_GETDBREGS ,
|
||||
or
|
||||
.Dv PT_SETFPREGS
|
||||
.Dv PT_SETDBREGS
|
||||
was attempted on a process with no valid register set. (This is
|
||||
normally true only of system processes.)
|
||||
.El
|
||||
|
@ -74,6 +74,13 @@ prefix,
|
||||
in which case that signal is delivered to the process
|
||||
(see
|
||||
.Xr sigaction 2 ).
|
||||
.It Pa dbregs
|
||||
The debug registers as defined by
|
||||
.Dv "struct dbregs"
|
||||
in
|
||||
.Pa <machine/reg.h> .
|
||||
.Pa dbregs
|
||||
is currently only implemented on the i386 architecture.
|
||||
.It Pa etype
|
||||
The type of the executable referenced by the
|
||||
.Pa file
|
||||
|
@ -118,6 +118,9 @@ struct fpreg {
|
||||
unsigned char fpr_pad[64];
|
||||
};
|
||||
|
||||
/*
|
||||
* Register set accessible via /proc/$pid/dbregs.
|
||||
*/
|
||||
struct dbreg {
|
||||
unsigned int dr0; /* debug address register 0 */
|
||||
unsigned int dr1; /* debug address register 1 */
|
||||
|
@ -118,6 +118,9 @@ struct fpreg {
|
||||
unsigned char fpr_pad[64];
|
||||
};
|
||||
|
||||
/*
|
||||
* Register set accessible via /proc/$pid/dbregs.
|
||||
*/
|
||||
struct dbreg {
|
||||
unsigned int dr0; /* debug address register 0 */
|
||||
unsigned int dr1; /* debug address register 1 */
|
||||
|
Loading…
Reference in New Issue
Block a user