diff options
author | David Xu <davidxu@FreeBSD.org> | 2003-08-05 12:00:55 +0000 |
---|---|---|
committer | David Xu <davidxu@FreeBSD.org> | 2003-08-05 12:00:55 +0000 |
commit | d3b5e418bc6bda019ac100d8194743e6147373cc (patch) | |
tree | bdace5637a0cb7d5c390e9e3998079586fffda05 /sys/sys/kse.h | |
parent | c9cbdf3393a8f9235de5444207185017d1b12e7e (diff) | |
download | src-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.h | 4 |
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 |