Start of an experiment to remove the use of gs for cpu local variables.

This commit is contained in:
Frans Kaashoek 2017-01-31 17:47:16 -05:00
parent 59cdd6c63b
commit abf847a083
17 changed files with 145 additions and 123 deletions

View file

@ -26,7 +26,7 @@ argfd(int n, int *pfd, struct file **pf)
if(argint(n, &fd) < 0)
return -1;
if(fd < 0 || fd >= NOFILE || (f=proc->ofile[fd]) == 0)
if(fd < 0 || fd >= NOFILE || (f=myproc()->ofile[fd]) == 0)
return -1;
if(pfd)
*pfd = fd;
@ -43,8 +43,8 @@ fdalloc(struct file *f)
int fd;
for(fd = 0; fd < NOFILE; fd++){
if(proc->ofile[fd] == 0){
proc->ofile[fd] = f;
if(myproc()->ofile[fd] == 0){
myproc()->ofile[fd] = f;
return fd;
}
}
@ -97,7 +97,7 @@ sys_close(void)
if(argfd(0, &fd, &f) < 0)
return -1;
proc->ofile[fd] = 0;
myproc()->ofile[fd] = 0;
fileclose(f);
return 0;
}
@ -386,9 +386,9 @@ sys_chdir(void)
return -1;
}
iunlock(ip);
iput(proc->cwd);
iput(myproc()->cwd);
end_op();
proc->cwd = ip;
myproc()->cwd = ip;
return 0;
}
@ -432,7 +432,7 @@ sys_pipe(void)
fd0 = -1;
if((fd0 = fdalloc(rf)) < 0 || (fd1 = fdalloc(wf)) < 0){
if(fd0 >= 0)
proc->ofile[fd0] = 0;
myproc()->ofile[fd0] = 0;
fileclose(rf);
fileclose(wf);
return -1;