summaryrefslogtreecommitdiff
path: root/microkernel/mach
diff options
context:
space:
mode:
authorThomas Schwinge <thomas@codesourcery.com>2015-11-01 18:57:00 +0100
committerThomas Schwinge <thomas@codesourcery.com>2015-11-01 18:57:00 +0100
commitcc1cbfb21aed52b60313121654345b167c7cdda7 (patch)
tree6d850dbefc1cc8b2edc8f6253fcd27808a8decf0 /microkernel/mach
parent5f2e6be200ae3ddf559697e028aca90c26f58360 (diff)
parentc27bbcb3d543ba954d5c63c628b0077680f92371 (diff)
Merge commit 'c27bbcb3d543ba954d5c63c628b0077680f92371'
Diffstat (limited to 'microkernel/mach')
-rw-r--r--microkernel/mach/gnumach/debugging.mdwn2
-rw-r--r--microkernel/mach/gnumach/interface/thread_get_state.mdwn37
-rw-r--r--microkernel/mach/gnumach/interface/thread_set_state.mdwn11
3 files changed, 49 insertions, 1 deletions
diff --git a/microkernel/mach/gnumach/debugging.mdwn b/microkernel/mach/gnumach/debugging.mdwn
index c5c592b7..c14f6111 100644
--- a/microkernel/mach/gnumach/debugging.mdwn
+++ b/microkernel/mach/gnumach/debugging.mdwn
@@ -14,7 +14,7 @@ Here are some hints to debug with GNU Mach.
[[!toc levels=2]]
-# Kernel Debugger
+# Kernel Debugger (KDB)
Mach has a built-in kernel debugger.
[Manual](http://www.gnu.org/software/hurd/gnumach-doc/Kernel-Debugger.html).
diff --git a/microkernel/mach/gnumach/interface/thread_get_state.mdwn b/microkernel/mach/gnumach/interface/thread_get_state.mdwn
new file mode 100644
index 00000000..c44cb927
--- /dev/null
+++ b/microkernel/mach/gnumach/interface/thread_get_state.mdwn
@@ -0,0 +1,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.
diff --git a/microkernel/mach/gnumach/interface/thread_set_state.mdwn b/microkernel/mach/gnumach/interface/thread_set_state.mdwn
new file mode 100644
index 00000000..35b75e98
--- /dev/null
+++ b/microkernel/mach/gnumach/interface/thread_set_state.mdwn
@@ -0,0 +1,11 @@
+[[!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 redir=thread_get_state]]