aboutsummaryrefslogtreecommitdiff
path: root/sys/sys/kse.h
diff options
context:
space:
mode:
authorDavid Xu <davidxu@FreeBSD.org>2003-08-05 12:00:55 +0000
committerDavid Xu <davidxu@FreeBSD.org>2003-08-05 12:00:55 +0000
commitd3b5e418bc6bda019ac100d8194743e6147373cc (patch)
treebdace5637a0cb7d5c390e9e3998079586fffda05 /sys/sys/kse.h
parentc9cbdf3393a8f9235de5444207185017d1b12e7e (diff)
downloadsrc-d3b5e418bc6bda019ac100d8194743e6147373cc.tar.gz
src-d3b5e418bc6bda019ac100d8194743e6147373cc.zip
Introduce a thread mailbox flag TMF_NOUPCALL. On some architectures other
than i386 or AMD64, TP register points to thread mailbox, and they can not atomically clear km_curthread in kse mailbox, in this case, thread retrieves its thread pointer from TP register and sets flag TMF_NOUPCALL in its thread mailbox to indicate a critical region.
Notes
Notes: svn path=/head/; revision=118486
Diffstat (limited to 'sys/sys/kse.h')
-rw-r--r--sys/sys/kse.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/sys/kse.h b/sys/sys/kse.h
index 1108c4cb99b5..9cb096b40006 100644
--- a/sys/sys/kse.h
+++ b/sys/sys/kse.h
@@ -94,6 +94,10 @@ struct kse_mailbox {
#define KMF_BOUND 0x08
#define KMF_WAITSIGEVENT 0x10
+/* These flags are kept in tm_flags */
+#define TMF_NOUPCALL 0x01
+
+/* Commands for kse_thr_interrupt */
#define KSE_INTR_INTERRUPT 0x01
#define KSE_INTR_RESTART 0x02
#define KSE_INTR_SENDSIG 0x03