Lines Matching refs:task
153 task_t task, in ipc_task_init() argument
171 task->itk_self = kport; in ipc_task_init()
172 task->itk_sself = ipc_port_make_send(kport); in ipc_task_init()
173 task->itk_space = space; in ipc_task_init()
174 space->is_task = task; in ipc_task_init()
178 task->exc_actions[i].port = IP_NULL; in ipc_task_init()
180 task->exc_actions[EXC_MACH_SYSCALL].port = in ipc_task_init()
182 task->itk_bootstrap = IP_NULL; in ipc_task_init()
184 task->itk_registered[i] = IP_NULL; in ipc_task_init()
192 task->itk_registered[i] = in ipc_task_init()
198 task->exc_actions[i].port = in ipc_task_init()
200 task->exc_actions[i].flavor = in ipc_task_init()
202 task->exc_actions[i].behavior = in ipc_task_init()
205 task->itk_bootstrap = in ipc_task_init()
222 task_t task) in ipc_task_enable() argument
226 itk_lock(task); in ipc_task_enable()
227 kport = task->itk_self; in ipc_task_enable()
229 ipc_kobject_set(kport, (ipc_kobject_t) task, IKOT_TASK); in ipc_task_enable()
230 itk_unlock(task); in ipc_task_enable()
243 task_t task) in ipc_task_disable() argument
247 itk_lock(task); in ipc_task_disable()
248 kport = task->itk_self; in ipc_task_disable()
251 itk_unlock(task); in ipc_task_disable()
265 task_t task) in ipc_task_terminate() argument
270 itk_lock(task); in ipc_task_terminate()
271 kport = task->itk_self; in ipc_task_terminate()
275 itk_unlock(task); in ipc_task_terminate()
279 task->itk_self = IP_NULL; in ipc_task_terminate()
280 itk_unlock(task); in ipc_task_terminate()
284 if (IP_VALID(task->itk_sself)) in ipc_task_terminate()
285 ipc_port_release_send(task->itk_sself); in ipc_task_terminate()
288 if (IP_VALID(task->exc_actions[i].port)) { in ipc_task_terminate()
289 ipc_port_release_send(task->exc_actions[i].port); in ipc_task_terminate()
292 if (IP_VALID(task->itk_bootstrap)) in ipc_task_terminate()
293 ipc_port_release_send(task->itk_bootstrap); in ipc_task_terminate()
296 if (IP_VALID(task->itk_registered[i])) in ipc_task_terminate()
297 ipc_port_release_send(task->itk_registered[i]); in ipc_task_terminate()
301 if (!task->kernel_loaded) in ipc_task_terminate()
302 ipc_space_destroy(task->itk_space); in ipc_task_terminate()
451 register task_t task) in retrieve_task_self_fast() argument
455 assert(task == current_task()); in retrieve_task_self_fast()
457 itk_lock(task); in retrieve_task_self_fast()
458 assert(task->itk_self != IP_NULL); in retrieve_task_self_fast()
460 if ((port = task->itk_sself) == task->itk_self) { in retrieve_task_self_fast()
462 itk_unlock(task); in retrieve_task_self_fast()
469 itk_unlock(task); in retrieve_task_self_fast()
526 task_t task = current_task(); in mach_task_self() local
530 sright = retrieve_task_self_fast(task); in mach_task_self()
599 task_t task, in task_get_special_port() argument
605 if (task == TASK_NULL) in task_get_special_port()
610 port = ipc_port_copy_send(task->itk_sself); in task_get_special_port()
614 port = ipc_port_make_send(task->itk_nself); in task_get_special_port()
618 port = ipc_port_copy_send(task->itk_host); in task_get_special_port()
622 port = ipc_port_copy_send(task->itk_bootstrap); in task_get_special_port()
626 port = ipc_port_copy_send(task->itk_seatbelt); in task_get_special_port()
630 port = ipc_port_copy_send(task->itk_task_access); in task_get_special_port()
634 port = ipc_port_copy_send(task->itk_debug_control); in task_get_special_port()
661 task_t task, in task_set_special_port() argument
669 printf("task_set_special_port(task=%p, which=%d, port=%p)\n",task, which, port); in task_set_special_port()
672 if (task == TASK_NULL) in task_set_special_port()
677 whichp = &task->itk_sself; in task_set_special_port()
680 whichp = &task->itk_host; in task_set_special_port()
683 whichp = &task->itk_bootstrap; in task_set_special_port()
686 whichp = &task->itk_seatbelt; in task_set_special_port()
689 whichp = &task->itk_task_access; in task_set_special_port()
692 whichp = &task->itk_debug_control; in task_set_special_port()
700 itk_unlock(task); in task_set_special_port()
703 itk_lock(task); in task_set_special_port()
704 if (task->itk_self == IP_NULL) { in task_set_special_port()
705 itk_unlock(task); in task_set_special_port()
711 itk_unlock(task); in task_set_special_port()
740 task_t task, in mach_ports_register() argument
747 if ((task == TASK_NULL) || in mach_ports_register()
760 itk_lock(task); in mach_ports_register()
761 if (task->itk_self == IP_NULL) { in mach_ports_register()
762 itk_unlock(task); in mach_ports_register()
774 old = task->itk_registered[i]; in mach_ports_register()
775 task->itk_registered[i] = ports[i]; in mach_ports_register()
779 itk_unlock(task); in mach_ports_register()
813 task_t task, in mach_ports_lookup() argument
822 if (task == TASK_NULL) in mach_ports_lookup()
831 itk_lock(task); in mach_ports_lookup()
832 if (task->itk_self == IP_NULL) { in mach_ports_lookup()
833 itk_unlock(task); in mach_ports_lookup()
847 ports[i] = ipc_port_copy_send(task->itk_registered[i]); in mach_ports_lookup()
849 itk_unlock(task); in mach_ports_lookup()
871 task_t task = TASK_NULL; in convert_port_to_task() local
879 r = ref_task_port_locked(port, &task); in convert_port_to_task()
883 return task; in convert_port_to_task()
889 task_t task; in ref_task_port_locked() local
891 task = TASK_NULL; in ref_task_port_locked()
894 task = (task_t) port->ip_kobject; in ref_task_port_locked()
895 assert(task != TASK_NULL); in ref_task_port_locked()
902 if (!task_lock_try(task)) { in ref_task_port_locked()
906 task->ref_count++; in ref_task_port_locked()
907 task_unlock(task); in ref_task_port_locked()
909 *ptask = task; in ref_task_port_locked()
981 task_t task; in convert_port_to_map() local
984 task = convert_port_to_task(port); in convert_port_to_map()
986 if (task == TASK_NULL) in convert_port_to_map()
989 map = &task->itk_p->p_vmspace->vm_map; in convert_port_to_map()
990 task_deallocate(task); in convert_port_to_map()
1059 task_t task) in convert_task_to_port() argument
1063 itk_lock(task); in convert_task_to_port()
1064 if (task->itk_self != IP_NULL) in convert_task_to_port()
1065 port = ipc_port_make_send(task->itk_self); in convert_task_to_port()
1068 itk_unlock(task); in convert_task_to_port()
1070 task_deallocate(task); in convert_task_to_port()
1191 task_t task, in task_set_exception_ports() argument
1200 if (task == TASK_NULL) { in task_set_exception_ports()
1222 itk_lock(task); in task_set_exception_ports()
1223 if (task->itk_self == IP_NULL) { in task_set_exception_ports()
1224 itk_unlock(task); in task_set_exception_ports()
1230 old_port[i] = task->exc_actions[i].port; in task_set_exception_ports()
1231 task->exc_actions[i].port = in task_set_exception_ports()
1233 task->exc_actions[i].behavior = new_behavior; in task_set_exception_ports()
1234 task->exc_actions[i].flavor = new_flavor; in task_set_exception_ports()
1242 itk_unlock(task); in task_set_exception_ports()
1371 task_t task, in task_swap_exception_ports() argument
1387 if (task == TASK_NULL) in task_swap_exception_ports()
1408 itk_lock(task); in task_swap_exception_ports()
1409 if (task->itk_self == IP_NULL) { in task_swap_exception_ports()
1410 itk_unlock(task); in task_swap_exception_ports()
1423 if (task->exc_actions[i].port == ports[j] && in task_swap_exception_ports()
1424 task->exc_actions[i].behavior == behaviors[j] in task_swap_exception_ports()
1425 && task->exc_actions[i].flavor == flavors[j]) in task_swap_exception_ports()
1434 ipc_port_copy_send(task->exc_actions[i].port); in task_swap_exception_ports()
1435 behaviors[j] = task->exc_actions[i].behavior; in task_swap_exception_ports()
1436 flavors[j] = task->exc_actions[i].flavor; in task_swap_exception_ports()
1439 old_port[i] = task->exc_actions[i].port; in task_swap_exception_ports()
1440 task->exc_actions[i].port = in task_swap_exception_ports()
1442 task->exc_actions[i].behavior = new_behavior; in task_swap_exception_ports()
1443 task->exc_actions[i].flavor = new_flavor; in task_swap_exception_ports()
1455 itk_unlock(task); in task_swap_exception_ports()
1545 task_t task, in task_get_exception_ports() argument
1557 if (task == TASK_NULL) in task_get_exception_ports()
1564 itk_lock(task); in task_get_exception_ports()
1565 if (task->itk_self == IP_NULL) { in task_get_exception_ports()
1566 itk_unlock(task); in task_get_exception_ports()
1579 if (task->exc_actions[i].port == ports[j] && in task_get_exception_ports()
1580 task->exc_actions[i].behavior == behaviors[j] in task_get_exception_ports()
1581 && task->exc_actions[i].flavor == flavors[j]) in task_get_exception_ports()
1590 ipc_port_copy_send(task->exc_actions[i].port); in task_get_exception_ports()
1591 behaviors[j] = task->exc_actions[i].behavior; in task_get_exception_ports()
1592 flavors[j] = task->exc_actions[i].flavor; in task_get_exception_ports()
1601 itk_unlock(task); in task_get_exception_ports()