proc 75 kern/include/proc.h extern struct proc *kproc;
proc 86 kern/include/proc.h struct proc *proc_create_runprogram(const char *name);
proc 85 kern/include/thread.h struct proc *t_proc; /* Process thread belongs to */
proc 57 kern/proc/proc.c struct proc *kproc;
proc 78 kern/proc/proc.c struct proc *
proc 81 kern/proc/proc.c struct proc *proc;
proc 83 kern/proc/proc.c proc = kmalloc(sizeof(*proc));
proc 84 kern/proc/proc.c if (proc == NULL) {
proc 87 kern/proc/proc.c proc->p_name = kstrdup(name);
proc 88 kern/proc/proc.c if (proc->p_name == NULL) {
proc 89 kern/proc/proc.c kfree(proc);
proc 93 kern/proc/proc.c threadarray_init(&proc->p_threads);
proc 94 kern/proc/proc.c spinlock_init(&proc->p_lock);
proc 97 kern/proc/proc.c proc->p_addrspace = NULL;
proc 100 kern/proc/proc.c proc->p_cwd = NULL;
proc 103 kern/proc/proc.c proc->console = NULL;
proc 106 kern/proc/proc.c return proc;
proc 124 kern/proc/proc.c KASSERT(proc != NULL);
proc 125 kern/proc/proc.c KASSERT(proc != kproc);
proc 134 kern/proc/proc.c if (proc->p_cwd) {
proc 135 kern/proc/proc.c VOP_DECREF(proc->p_cwd);
proc 136 kern/proc/proc.c proc->p_cwd = NULL;
proc 141 kern/proc/proc.c if (proc->p_addrspace) {
proc 161 kern/proc/proc.c if (proc->console) {
proc 162 kern/proc/proc.c vfs_close(proc->console);
proc 166 kern/proc/proc.c threadarray_cleanup(&proc->p_threads);
proc 167 kern/proc/proc.c spinlock_cleanup(&proc->p_lock);
proc 169 kern/proc/proc.c kfree(proc->p_name);
proc 170 kern/proc/proc.c kfree(proc);
proc 219 kern/proc/proc.c struct proc *
proc 222 kern/proc/proc.c struct proc *proc;
proc 225 kern/proc/proc.c proc = proc_create(name);
proc 226 kern/proc/proc.c if (proc == NULL) {
proc 236 kern/proc/proc.c if (vfs_open(console_path,O_WRONLY,0,&(proc->console))) {
proc 244 kern/proc/proc.c proc->p_addrspace = NULL;
proc 254 kern/proc/proc.c proc->p_cwd = curproc->p_cwd;
proc 260 kern/proc/proc.c proc->p_cwd = curproc->p_cwd;
proc 274 kern/proc/proc.c return proc;
proc 288 kern/proc/proc.c spinlock_acquire(&proc->p_lock);
proc 289 kern/proc/proc.c result = threadarray_add(&proc->p_threads, t, NULL);
proc 290 kern/proc/proc.c spinlock_release(&proc->p_lock);
proc 294 kern/proc/proc.c t->t_proc = proc;
proc 305 kern/proc/proc.c struct proc *proc;
proc 308 kern/proc/proc.c proc = t->t_proc;
proc 309 kern/proc/proc.c KASSERT(proc != NULL);
proc 311 kern/proc/proc.c spinlock_acquire(&proc->p_lock);
proc 313 kern/proc/proc.c num = threadarray_num(&proc->p_threads);
proc 315 kern/proc/proc.c if (threadarray_get(&proc->p_threads, i) == t) {
proc 316 kern/proc/proc.c threadarray_remove(&proc->p_threads, i);
proc 317 kern/proc/proc.c spinlock_release(&proc->p_lock);
proc 323 kern/proc/proc.c spinlock_release(&proc->p_lock);
proc 324 kern/proc/proc.c panic("Thread (%p) has escaped from its process (%p)\n", t, proc);
proc 359 kern/proc/proc.c struct proc *proc = curproc;
proc 361 kern/proc/proc.c spinlock_acquire(&proc->p_lock);
proc 362 kern/proc/proc.c oldas = proc->p_addrspace;
proc 363 kern/proc/proc.c proc->p_addrspace = newas;
proc 364 kern/proc/proc.c spinlock_release(&proc->p_lock);
proc 131 kern/startup/menu.c struct proc *proc;
proc 140 kern/startup/menu.c proc = proc_create_runprogram(args[0] /* name */);
proc 141 kern/startup/menu.c if (proc == NULL) {
proc 146 kern/startup/menu.c proc /* new process */,
proc 151 kern/startup/menu.c proc_destroy(proc);
proc 19 kern/syscall/proc_syscalls.c struct proc *p = curproc;
proc 511 kern/thread/thread.c if (proc == NULL) {
proc 512 kern/thread/thread.c proc = curthread->t_proc;
proc 514 kern/thread/thread.c result = proc_addthread(proc, newthread);