goodbye PushRegs

This commit is contained in:
rsc 2006-07-17 01:36:39 +00:00
parent f15a3ae263
commit ee9c7f3bfc
4 changed files with 6 additions and 9 deletions

2
proc.c
View file

@ -104,7 +104,7 @@ copyproc(struct proc* p)
*np->tf = *p->tf;
// Clear %eax so that fork system call returns 0 in child.
np->tf->regs.eax = 0;
np->tf->eax = 0;
// Set up new jmpbuf to start executing at forkret (see below).
memset(&np->jmpbuf, 0, sizeof np->jmpbuf);

View file

@ -263,7 +263,7 @@ void
syscall(void)
{
struct proc *cp = curproc[cpu()];
int num = cp->tf->regs.eax;
int num = cp->tf->eax;
int ret = -1;
//cprintf("%x sys %d\n", cp, num);
@ -309,5 +309,5 @@ syscall(void)
// XXX fault
break;
}
cp->tf->regs.eax = ret;
cp->tf->eax = ret;
}

2
trap.c
View file

@ -37,7 +37,7 @@ trap(struct Trapframe *tf)
if(v == T_SYSCALL){
struct proc *cp = curproc[cpu()];
int num = cp->tf->regs.eax;
int num = cp->tf->eax;
if(cp == 0)
panic("syscall with no proc");
if(cp->killed)

7
x86.h
View file

@ -339,7 +339,7 @@ sti(void)
__asm__ volatile("sti");
}
struct PushRegs {
struct Trapframe {
/* registers as pushed by pusha */
uint32_t edi;
uint32_t esi;
@ -349,10 +349,7 @@ struct PushRegs {
uint32_t edx;
uint32_t ecx;
uint32_t eax;
};
struct Trapframe {
struct PushRegs regs;
/* rest of trap frame */
uint16_t es;
uint16_t padding1;
uint16_t ds;