]> git.saurik.com Git - apple/xnu.git/blobdiff - osfmk/i386/thread.h
xnu-3789.70.16.tar.gz
[apple/xnu.git] / osfmk / i386 / thread.h
index b75e36a990027b95528ea0c4b2170db3f2a71201..1fea8c2d8d8c85209d22173e6ab7963854940575 100644 (file)
@@ -128,6 +128,12 @@ struct machine_thread {
 
        struct pal_pcb          pal_pcb;
        uint32_t                specFlags;
+       /* N.B.: These "specFlags" are read-modify-written non-atomically within
+        * the copyio routine. So conceivably any exception that modifies the
+        * flags in a persistent manner could be clobbered if it occurs within
+        * a copyio context. For now, the only other flag here is OnProc which
+        * is not modified except at context switch.
+        */
 #define                OnProc          0x1
 #define                CopyIOActive    0x2 /* Checked to ensure DTrace actions do not re-enter copyio(). */
        uint64_t                thread_gpu_ns;
@@ -163,6 +169,7 @@ extern void *act_thread_csave(void);
 extern void act_thread_catt(void *ctx);
 extern void act_thread_cfree(void *ctx);
 
+#define FIND_PERFCONTROL_STATE(th)     (PERFCONTROL_STATE_NULL)
 
 /*
  *     On the kernel stack is: