sp 15 exec.c uint argc, sz, sp, ustack[3+MAXARG+1]; sp 69 exec.c sp = sz; sp 75 exec.c sp = (sp - (strlen(argv[argc]) + 1)) & ~3; sp 76 exec.c if(copyout(pgdir, sp, argv[argc], strlen(argv[argc]) + 1) < 0) sp 78 exec.c ustack[3+argc] = sp; sp 84 exec.c ustack[2] = sp - (argc+1)*4; // argv pointer sp 86 exec.c sp -= (3+argc+1) * 4; sp 87 exec.c if(copyout(pgdir, sp, ustack, (3+argc+1)*4) < 0) sp 101 exec.c curproc->tf->esp = sp; sp 77 proc.c char *sp; sp 99 proc.c sp = p->kstack + KSTACKSIZE; sp 102 proc.c sp -= sizeof *p->tf; sp 103 proc.c p->tf = (struct trapframe*)sp; sp 107 proc.c sp -= 4; sp 108 proc.c *(uint*)sp = (uint)trapret; sp 110 proc.c sp -= sizeof *p->context; sp 111 proc.c p->context = (struct context*)sp;