Changeset View
Changeset View
Standalone View
Standalone View
sys/sys/proc.h
Show First 20 Lines • Show All 48 Lines • ▼ Show 20 Lines | |||||
#ifndef _KERNEL | #ifndef _KERNEL | ||||
#include <sys/filedesc.h> | #include <sys/filedesc.h> | ||||
#endif | #endif | ||||
#include <sys/queue.h> | #include <sys/queue.h> | ||||
#include <sys/_lock.h> | #include <sys/_lock.h> | ||||
#include <sys/lock_profile.h> | #include <sys/lock_profile.h> | ||||
#include <sys/_mutex.h> | #include <sys/_mutex.h> | ||||
#include <sys/osd.h> | #include <sys/osd.h> | ||||
#include <sys/door_common.h> | |||||
#include <sys/priority.h> | #include <sys/priority.h> | ||||
#include <sys/rtprio.h> /* XXX. */ | #include <sys/rtprio.h> /* XXX. */ | ||||
#include <sys/runq.h> | #include <sys/runq.h> | ||||
#include <sys/resource.h> | #include <sys/resource.h> | ||||
#include <sys/sigio.h> | #include <sys/sigio.h> | ||||
#include <sys/signal.h> | #include <sys/signal.h> | ||||
#include <sys/signalvar.h> | #include <sys/signalvar.h> | ||||
#ifndef _KERNEL | #ifndef _KERNEL | ||||
▲ Show 20 Lines • Show All 130 Lines • ▼ Show 20 Lines | |||||
struct socket; | struct socket; | ||||
struct td_sched; | struct td_sched; | ||||
struct thread; | struct thread; | ||||
struct trapframe; | struct trapframe; | ||||
struct turnstile; | struct turnstile; | ||||
struct vm_map; | struct vm_map; | ||||
struct vm_map_entry; | struct vm_map_entry; | ||||
struct epoch_tracker; | struct epoch_tracker; | ||||
struct door_td_info; | |||||
struct syscall_args { | struct syscall_args { | ||||
u_int code; | u_int code; | ||||
u_int original_code; | u_int original_code; | ||||
struct sysent *callp; | struct sysent *callp; | ||||
register_t args[8]; | register_t args[8]; | ||||
}; | }; | ||||
▲ Show 20 Lines • Show All 125 Lines • ▼ Show 20 Lines | #define td_startcopy td_endzero | ||||
uintptr_t td_rb_list; /* (k) Robust list head. */ | uintptr_t td_rb_list; /* (k) Robust list head. */ | ||||
uintptr_t td_rbp_list; /* (k) Robust priv list head. */ | uintptr_t td_rbp_list; /* (k) Robust priv list head. */ | ||||
uintptr_t td_rb_inact; /* (k) Current in-action mutex loc. */ | uintptr_t td_rb_inact; /* (k) Current in-action mutex loc. */ | ||||
struct syscall_args td_sa; /* (kx) Syscall parameters. Copied on | struct syscall_args td_sa; /* (kx) Syscall parameters. Copied on | ||||
fork for child tracing. */ | fork for child tracing. */ | ||||
void *td_sigblock_ptr; /* (k) uptr for fast sigblock. */ | void *td_sigblock_ptr; /* (k) uptr for fast sigblock. */ | ||||
uint32_t td_sigblock_val; /* (k) fast sigblock value read at | uint32_t td_sigblock_val; /* (k) fast sigblock value read at | ||||
td_sigblock_ptr on kern entry */ | td_sigblock_ptr on kern entry */ | ||||
#define td_endcopy td_pcb | #define td_endcopy td_pcb | ||||
/* | /* | ||||
* Fields that must be manually set in fork1() or create_thread() | * Fields that must be manually set in fork1() or create_thread() | ||||
* or already have been set in the allocator, constructor, etc. | * or already have been set in the allocator, constructor, etc. | ||||
*/ | */ | ||||
struct pcb *td_pcb; /* (k) Kernel VA of pcb and kstack. */ | struct pcb *td_pcb; /* (k) Kernel VA of pcb and kstack. */ | ||||
enum td_states { | enum td_states { | ||||
Show All 32 Lines | #define td_retval td_uretoff.tdu_retval | ||||
int td_oncpu; /* (t) Which cpu we are on. */ | int td_oncpu; /* (t) Which cpu we are on. */ | ||||
void *td_lkpi_task; /* LinuxKPI task struct pointer */ | void *td_lkpi_task; /* LinuxKPI task struct pointer */ | ||||
int td_pmcpend; | int td_pmcpend; | ||||
void *td_coredump; /* (c) coredump request. */ | void *td_coredump; /* (c) coredump request. */ | ||||
off_t td_ktr_io_lim; /* (k) limit for ktrace file size */ | off_t td_ktr_io_lim; /* (k) limit for ktrace file size */ | ||||
#ifdef EPOCH_TRACE | #ifdef EPOCH_TRACE | ||||
SLIST_HEAD(, epoch_tracker) td_epochs; | SLIST_HEAD(, epoch_tracker) td_epochs; | ||||
#endif | #endif | ||||
struct door_td_info *td_door; | |||||
SLIST_ENTRY(thread) td_door_pool; | |||||
}; | }; | ||||
struct thread0_storage { | struct thread0_storage { | ||||
struct thread t0st_thread; | struct thread t0st_thread; | ||||
uint64_t t0st_sched[10]; | uint64_t t0st_sched[10]; | ||||
}; | }; | ||||
struct mtx *thread_lock_block(struct thread *); | struct mtx *thread_lock_block(struct thread *); | ||||
▲ Show 20 Lines • Show All 339 Lines • ▼ Show 20 Lines | #define p_endcopy p_xexit | ||||
* debugger as a result of attaching to it. Need to keep | * debugger as a result of attaching to it. Need to keep | ||||
* track of them for parent to be able to collect the exit | * track of them for parent to be able to collect the exit | ||||
* status of what used to be children. | * status of what used to be children. | ||||
*/ | */ | ||||
LIST_ENTRY(proc) p_orphan; /* (e) List of orphan processes. */ | LIST_ENTRY(proc) p_orphan; /* (e) List of orphan processes. */ | ||||
LIST_HEAD(, proc) p_orphans; /* (e) Pointer to list of orphans. */ | LIST_HEAD(, proc) p_orphans; /* (e) Pointer to list of orphans. */ | ||||
TAILQ_HEAD(, kq_timer_cb_data) p_kqtim_stop; /* (c) */ | TAILQ_HEAD(, kq_timer_cb_data) p_kqtim_stop; /* (c) */ | ||||
LIST_HEAD(, door) p_doors; /* List of doors. */ | |||||
door_pool_t door_td_pool; /* Door thread pool. */ | |||||
}; | }; | ||||
#define p_session p_pgrp->pg_session | #define p_session p_pgrp->pg_session | ||||
#define p_pgid p_pgrp->pg_id | #define p_pgid p_pgrp->pg_id | ||||
#define NOCPU (-1) /* For when we aren't on a CPU. */ | #define NOCPU (-1) /* For when we aren't on a CPU. */ | ||||
#define NOCPU_OLD (255) | #define NOCPU_OLD (255) | ||||
#define MAXCPU_OLD (254) | #define MAXCPU_OLD (254) | ||||
▲ Show 20 Lines • Show All 558 Lines • Show Last 20 Lines |