use SYS_syscall instead of SYS_indir
and turn off the 64 bit syscall interface
This commit is contained in:
parent
376a5f4108
commit
405bf3d48d
|
@ -37,7 +37,7 @@
|
||||||
*
|
*
|
||||||
* from: Utah Hdr: trap.c 1.32 91/04/06
|
* from: Utah Hdr: trap.c 1.32 91/04/06
|
||||||
* from: @(#)trap.c 7.14 (Berkeley) 3/8/93
|
* from: @(#)trap.c 7.14 (Berkeley) 3/8/93
|
||||||
* $Id: trap.c,v 1.1.1.1 1993/10/12 03:22:31 deraadt Exp $
|
* $Id: trap.c,v 1.2 1994/01/16 00:49:47 deraadt Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <sys/param.h>
|
#include <sys/param.h>
|
||||||
|
@ -455,13 +455,13 @@ trap(statusReg, causeReg, vadr, pc, args)
|
||||||
#endif
|
#endif
|
||||||
code = locr0[V0];
|
code = locr0[V0];
|
||||||
switch (code) {
|
switch (code) {
|
||||||
case SYS_indir:
|
case SYS_syscall:
|
||||||
/*
|
/*
|
||||||
* Code is first argument, followed by actual args.
|
* Code is first argument, followed by actual args.
|
||||||
*/
|
*/
|
||||||
code = locr0[A0];
|
code = locr0[A0];
|
||||||
if (code >= numsys)
|
if (code >= numsys)
|
||||||
callp = &systab[SYS_indir]; /* (illegal) */
|
callp = &systab[SYS_syscall]; /* (illegal) */
|
||||||
else
|
else
|
||||||
callp = &systab[code];
|
callp = &systab[code];
|
||||||
i = callp->sy_narg;
|
i = callp->sy_narg;
|
||||||
|
@ -486,14 +486,15 @@ trap(statusReg, causeReg, vadr, pc, args)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SYS___indir:
|
#if 0
|
||||||
|
case SYS___syscall:
|
||||||
/*
|
/*
|
||||||
* Like indir, but code is a quad, so as to maintain
|
* Like indir, but code is a quad, so as to maintain
|
||||||
* quad alignment for the rest of the arguments.
|
* quad alignment for the rest of the arguments.
|
||||||
*/
|
*/
|
||||||
code = locr0[A0 + _QUAD_LOWWORD];
|
code = locr0[A0 + _QUAD_LOWWORD];
|
||||||
if (code >= numsys)
|
if (code >= numsys)
|
||||||
callp = &systab[SYS_indir]; /* (illegal) */
|
callp = &systab[SYS_syscall]; /* (illegal) */
|
||||||
else
|
else
|
||||||
callp = &systab[code];
|
callp = &systab[code];
|
||||||
i = callp->sy_narg;
|
i = callp->sy_narg;
|
||||||
|
@ -516,10 +517,11 @@ trap(statusReg, causeReg, vadr, pc, args)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
#endif
|
||||||
|
|
||||||
default:
|
default:
|
||||||
if (code >= numsys)
|
if (code >= numsys)
|
||||||
callp = &systab[SYS_indir]; /* (illegal) */
|
callp = &systab[SYS_syscall]; /* (illegal) */
|
||||||
else
|
else
|
||||||
callp = &systab[code];
|
callp = &systab[code];
|
||||||
i = callp->sy_narg;
|
i = callp->sy_narg;
|
||||||
|
@ -815,10 +817,12 @@ interrupt(statusReg, causeReg, pc)
|
||||||
clearsoftnet();
|
clearsoftnet();
|
||||||
cnt.v_soft++;
|
cnt.v_soft++;
|
||||||
#ifdef INET
|
#ifdef INET
|
||||||
|
#ifdef NETISR_ARP
|
||||||
if (netisr & (1 << NETISR_ARP)) {
|
if (netisr & (1 << NETISR_ARP)) {
|
||||||
netisr &= ~(1 << NETISR_ARP);
|
netisr &= ~(1 << NETISR_ARP);
|
||||||
arpintr();
|
arpintr();
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (netisr & (1 << NETISR_IP)) {
|
if (netisr & (1 << NETISR_IP)) {
|
||||||
netisr &= ~(1 << NETISR_IP);
|
netisr &= ~(1 << NETISR_IP);
|
||||||
ipintr();
|
ipintr();
|
||||||
|
|
|
@ -37,7 +37,7 @@
|
||||||
*
|
*
|
||||||
* from: Utah Hdr: trap.c 1.32 91/04/06
|
* from: Utah Hdr: trap.c 1.32 91/04/06
|
||||||
* from: @(#)trap.c 7.14 (Berkeley) 3/8/93
|
* from: @(#)trap.c 7.14 (Berkeley) 3/8/93
|
||||||
* $Id: pmax_trap.c,v 1.1.1.1 1993/10/12 03:22:31 deraadt Exp $
|
* $Id: pmax_trap.c,v 1.2 1994/01/16 00:49:47 deraadt Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <sys/param.h>
|
#include <sys/param.h>
|
||||||
|
@ -455,13 +455,13 @@ trap(statusReg, causeReg, vadr, pc, args)
|
||||||
#endif
|
#endif
|
||||||
code = locr0[V0];
|
code = locr0[V0];
|
||||||
switch (code) {
|
switch (code) {
|
||||||
case SYS_indir:
|
case SYS_syscall:
|
||||||
/*
|
/*
|
||||||
* Code is first argument, followed by actual args.
|
* Code is first argument, followed by actual args.
|
||||||
*/
|
*/
|
||||||
code = locr0[A0];
|
code = locr0[A0];
|
||||||
if (code >= numsys)
|
if (code >= numsys)
|
||||||
callp = &systab[SYS_indir]; /* (illegal) */
|
callp = &systab[SYS_syscall]; /* (illegal) */
|
||||||
else
|
else
|
||||||
callp = &systab[code];
|
callp = &systab[code];
|
||||||
i = callp->sy_narg;
|
i = callp->sy_narg;
|
||||||
|
@ -486,14 +486,15 @@ trap(statusReg, causeReg, vadr, pc, args)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SYS___indir:
|
#if 0
|
||||||
|
case SYS___syscall:
|
||||||
/*
|
/*
|
||||||
* Like indir, but code is a quad, so as to maintain
|
* Like indir, but code is a quad, so as to maintain
|
||||||
* quad alignment for the rest of the arguments.
|
* quad alignment for the rest of the arguments.
|
||||||
*/
|
*/
|
||||||
code = locr0[A0 + _QUAD_LOWWORD];
|
code = locr0[A0 + _QUAD_LOWWORD];
|
||||||
if (code >= numsys)
|
if (code >= numsys)
|
||||||
callp = &systab[SYS_indir]; /* (illegal) */
|
callp = &systab[SYS_syscall]; /* (illegal) */
|
||||||
else
|
else
|
||||||
callp = &systab[code];
|
callp = &systab[code];
|
||||||
i = callp->sy_narg;
|
i = callp->sy_narg;
|
||||||
|
@ -516,10 +517,11 @@ trap(statusReg, causeReg, vadr, pc, args)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
#endif
|
||||||
|
|
||||||
default:
|
default:
|
||||||
if (code >= numsys)
|
if (code >= numsys)
|
||||||
callp = &systab[SYS_indir]; /* (illegal) */
|
callp = &systab[SYS_syscall]; /* (illegal) */
|
||||||
else
|
else
|
||||||
callp = &systab[code];
|
callp = &systab[code];
|
||||||
i = callp->sy_narg;
|
i = callp->sy_narg;
|
||||||
|
@ -815,10 +817,12 @@ interrupt(statusReg, causeReg, pc)
|
||||||
clearsoftnet();
|
clearsoftnet();
|
||||||
cnt.v_soft++;
|
cnt.v_soft++;
|
||||||
#ifdef INET
|
#ifdef INET
|
||||||
|
#ifdef NETISR_ARP
|
||||||
if (netisr & (1 << NETISR_ARP)) {
|
if (netisr & (1 << NETISR_ARP)) {
|
||||||
netisr &= ~(1 << NETISR_ARP);
|
netisr &= ~(1 << NETISR_ARP);
|
||||||
arpintr();
|
arpintr();
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (netisr & (1 << NETISR_IP)) {
|
if (netisr & (1 << NETISR_IP)) {
|
||||||
netisr &= ~(1 << NETISR_IP);
|
netisr &= ~(1 << NETISR_IP);
|
||||||
ipintr();
|
ipintr();
|
||||||
|
|
|
@ -37,7 +37,7 @@
|
||||||
*
|
*
|
||||||
* from: Utah Hdr: trap.c 1.32 91/04/06
|
* from: Utah Hdr: trap.c 1.32 91/04/06
|
||||||
* from: @(#)trap.c 7.14 (Berkeley) 3/8/93
|
* from: @(#)trap.c 7.14 (Berkeley) 3/8/93
|
||||||
* $Id: trap.c,v 1.1.1.1 1993/10/12 03:22:31 deraadt Exp $
|
* $Id: trap.c,v 1.2 1994/01/16 00:49:47 deraadt Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <sys/param.h>
|
#include <sys/param.h>
|
||||||
|
@ -455,13 +455,13 @@ trap(statusReg, causeReg, vadr, pc, args)
|
||||||
#endif
|
#endif
|
||||||
code = locr0[V0];
|
code = locr0[V0];
|
||||||
switch (code) {
|
switch (code) {
|
||||||
case SYS_indir:
|
case SYS_syscall:
|
||||||
/*
|
/*
|
||||||
* Code is first argument, followed by actual args.
|
* Code is first argument, followed by actual args.
|
||||||
*/
|
*/
|
||||||
code = locr0[A0];
|
code = locr0[A0];
|
||||||
if (code >= numsys)
|
if (code >= numsys)
|
||||||
callp = &systab[SYS_indir]; /* (illegal) */
|
callp = &systab[SYS_syscall]; /* (illegal) */
|
||||||
else
|
else
|
||||||
callp = &systab[code];
|
callp = &systab[code];
|
||||||
i = callp->sy_narg;
|
i = callp->sy_narg;
|
||||||
|
@ -486,14 +486,15 @@ trap(statusReg, causeReg, vadr, pc, args)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SYS___indir:
|
#if 0
|
||||||
|
case SYS___syscall:
|
||||||
/*
|
/*
|
||||||
* Like indir, but code is a quad, so as to maintain
|
* Like indir, but code is a quad, so as to maintain
|
||||||
* quad alignment for the rest of the arguments.
|
* quad alignment for the rest of the arguments.
|
||||||
*/
|
*/
|
||||||
code = locr0[A0 + _QUAD_LOWWORD];
|
code = locr0[A0 + _QUAD_LOWWORD];
|
||||||
if (code >= numsys)
|
if (code >= numsys)
|
||||||
callp = &systab[SYS_indir]; /* (illegal) */
|
callp = &systab[SYS_syscall]; /* (illegal) */
|
||||||
else
|
else
|
||||||
callp = &systab[code];
|
callp = &systab[code];
|
||||||
i = callp->sy_narg;
|
i = callp->sy_narg;
|
||||||
|
@ -516,10 +517,11 @@ trap(statusReg, causeReg, vadr, pc, args)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
#endif
|
||||||
|
|
||||||
default:
|
default:
|
||||||
if (code >= numsys)
|
if (code >= numsys)
|
||||||
callp = &systab[SYS_indir]; /* (illegal) */
|
callp = &systab[SYS_syscall]; /* (illegal) */
|
||||||
else
|
else
|
||||||
callp = &systab[code];
|
callp = &systab[code];
|
||||||
i = callp->sy_narg;
|
i = callp->sy_narg;
|
||||||
|
@ -815,10 +817,12 @@ interrupt(statusReg, causeReg, pc)
|
||||||
clearsoftnet();
|
clearsoftnet();
|
||||||
cnt.v_soft++;
|
cnt.v_soft++;
|
||||||
#ifdef INET
|
#ifdef INET
|
||||||
|
#ifdef NETISR_ARP
|
||||||
if (netisr & (1 << NETISR_ARP)) {
|
if (netisr & (1 << NETISR_ARP)) {
|
||||||
netisr &= ~(1 << NETISR_ARP);
|
netisr &= ~(1 << NETISR_ARP);
|
||||||
arpintr();
|
arpintr();
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (netisr & (1 << NETISR_IP)) {
|
if (netisr & (1 << NETISR_IP)) {
|
||||||
netisr &= ~(1 << NETISR_IP);
|
netisr &= ~(1 << NETISR_IP);
|
||||||
ipintr();
|
ipintr();
|
||||||
|
|
Loading…
Reference in New Issue