--- Gnu-Mach/kern/thread.h 2020/09/02 04:47:44 1.1.1.4 +++ Gnu-Mach/kern/thread.h 2020/09/02 04:54:10 1.1.1.6 @@ -77,7 +77,6 @@ struct thread { struct { unsigned state:16; unsigned wake_active:1; - unsigned vm_privilege:1; unsigned active:1; }; event_t event_key; @@ -100,7 +99,7 @@ struct thread { vm_offset_t stack_privilege;/* reserved kernel stack */ /* Swapping information */ - void (*swap_func)(); /* start here after swapin */ + continuation_t swap_func; /* start here after swapin */ /* Blocking information */ event_t wait_event; /* event we are waiting on */ @@ -146,8 +145,8 @@ struct thread { /* VM global variables */ vm_offset_t recover; /* page fault recovery (copyin/out) */ - /* Defined above */ - /* boolean_t vm_privilege; Can use reserved memory? */ + unsigned int vm_privilege; /* Can use reserved memory? + Implemented as a counter */ /* User-visible scheduling state */ int user_stop_count; /* outstanding stops */ @@ -362,7 +361,7 @@ extern void thread_release(thread_t); extern kern_return_t thread_halt( thread_t thread, boolean_t must_halt); -extern void thread_halt_self(void); +extern void thread_halt_self(continuation_t); extern void thread_force_terminate(thread_t); extern thread_t kernel_thread( task_t task,