part one of two..need to give someone a ring...
This commit is contained in:
parent
1c1d646c7e
commit
b316507cbf
@ -575,9 +575,20 @@ syscall(code, frame)
|
|||||||
panic("syscall: bad syscall emulation type");
|
panic("syscall: bad syscall emulation type");
|
||||||
}
|
}
|
||||||
params = (caddr_t)frame.f_regs[SP] + sizeof(int);
|
params = (caddr_t)frame.f_regs[SP] + sizeof(int);
|
||||||
if (code == 0) { /* indir */
|
switch (code) {
|
||||||
code = fuword(params);
|
case SYS_syscall:
|
||||||
params += sizeof(int);
|
code = fuword(params); /* indir */
|
||||||
|
params += sizeof(int);
|
||||||
|
break;
|
||||||
|
case SYS___syscall:
|
||||||
|
#ifdef COMPAT_SUNOS
|
||||||
|
if (p->p_emul == EMUL_SUNOS)
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
|
code = fuword(params + QUAD_LOWWORD * sizeof(int)); /* indir */
|
||||||
|
params += sizeof(quad_t);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
}
|
}
|
||||||
if (code >= numsys)
|
if (code >= numsys)
|
||||||
callp = &systab[0]; /* indir (illegal) */
|
callp = &systab[0]; /* indir (illegal) */
|
||||||
|
Loading…
Reference in New Issue
Block a user