summaryrefslogtreecommitdiff
path: root/microkernel/mach/gnumach/interface/thread_get_state.mdwn
blob: c44cb927bd42238e43fecf458d3aec394558f18c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
[[!meta copyright="Copyright © 2014 Free Software Foundation, Inc."]]

[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
id="license" text="Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License, Version 1.2 or
any later version published by the Free Software Foundation; with no Invariant
Sections, no Front-Cover Texts, and no Back-Cover Texts.  A copy of the license
is included in the section entitled [[GNU Free Documentation
License|/fdl]]."]]"""]]

[[!meta title="thread_get_state, thread_set_state"]]

[[!tag open_issue_documentation]]


# `i386_DEBUG_STATE`

Access the x86 debug registers.

[[!message-id "20110821231730.GF6004@type.famille.thibault.fr"]],
[[!GNU_Savannah_Git_hurd_gnumach d14e4924c55e3016d1ddf7a38a7e93460ca10ac8]].

For example, used by [[/GDB]] for implementing hardware watchpoints.


## Open Issues

[[!tag open_issue_gnumach]]

  * Continuing on [[!message-id "87iokondoc.fsf@schwinge.name"]], do we need to
    sanitize some of the values?  Is user space allowed to set DR7's GD flag as
    well as DR7's reserved flags, or should these flags be masked out?
    Anything else?

  * If [[KDB|debugging]] is using hardware watchpoints, those set by user space
    applications will be ignored.  This is because KDB and the user-space
    application are competing for the x86 debug registers, and KDB wins.