[[!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.