much works but untested w/new fs. expect more tomorrow
This commit is contained in:
parent
51c7c774de
commit
eff56c22fa
|
@ -38,7 +38,7 @@
|
|||
* from: Utah Hdr: trap.c 1.32 91/04/06
|
||||
*
|
||||
* from: @(#)trap.c 8.5 (Berkeley) 1/11/94
|
||||
* $Id: trap.c,v 1.5 1994/06/02 06:15:08 glass Exp $
|
||||
* $Id: trap.c,v 1.6 1994/06/15 05:18:53 glass Exp $
|
||||
*/
|
||||
|
||||
#include <sys/param.h>
|
||||
|
@ -178,6 +178,54 @@ extern u_long kn03_tc3_imask;
|
|||
int (*pmax_hardware_intr)() = (int (*)())0;
|
||||
extern volatile struct chiptime *Mach_clock_addr;
|
||||
|
||||
#ifdef COMPAT_ULTRIX
|
||||
extern struct sysent ultrix_sysent[];
|
||||
extern int nultrix_sysent;
|
||||
extern char *ultrix_syscallnames[];
|
||||
#endif
|
||||
|
||||
#if defined(COMPAT_ULTRIX) && defined(SYSCALL_DEBUG)
|
||||
int ultrix_scdebug = 1;
|
||||
|
||||
void
|
||||
ultrix_scdebug_call(p, code, narg, args)
|
||||
struct proc *p;
|
||||
int code, narg, *args;
|
||||
{
|
||||
int i;
|
||||
|
||||
if (!ultrix_scdebug)
|
||||
return;
|
||||
|
||||
printf("proc %d: ultrix syscall ", p->p_pid);
|
||||
if (code < 0 || code >= nultrix_sysent) {
|
||||
printf("OUT OF RANGE (%d)", code);
|
||||
code = 0;
|
||||
} else
|
||||
printf("%d", code);
|
||||
printf(" called: %s(", ultrix_syscallnames[code]);
|
||||
for (i = 0; i < narg; i++)
|
||||
printf("0x%x, ", args[i]);
|
||||
printf(")\n");
|
||||
}
|
||||
|
||||
void
|
||||
ultrix_scdebug_ret(p, code, error, retval)
|
||||
struct proc *p;
|
||||
int code, error, retval;
|
||||
{
|
||||
if (!ultrix_scdebug)
|
||||
return;
|
||||
|
||||
printf("proc %d: ultrix syscall ", p->p_pid);
|
||||
if (code < 0 || code >= nultrix_sysent) {
|
||||
printf("OUT OF RANGE (%d)", code);
|
||||
code = 0;
|
||||
} else
|
||||
printf("%d", code);
|
||||
printf(" return: error = %d, retval = %d\n", error, retval);
|
||||
}
|
||||
#endif
|
||||
/*
|
||||
* Handle an exception.
|
||||
* Called from MachKernGenException() or MachUserGenException()
|
||||
|
@ -402,10 +450,6 @@ trap(statusReg, causeReg, vadr, pc, args)
|
|||
int rval[2];
|
||||
struct sysent *systab;
|
||||
extern int nsysent;
|
||||
#ifdef COMPAT_ULTRIX
|
||||
extern struct sysent ultrix_sysent[];
|
||||
int nultrix_sysent;
|
||||
#endif
|
||||
|
||||
cnt.v_syscall++;
|
||||
/* compute next PC after syscall instruction */
|
||||
|
@ -448,6 +492,18 @@ trap(statusReg, causeReg, vadr, pc, args)
|
|||
if (i) {
|
||||
locr0[V0] = i;
|
||||
locr0[A3] = 1;
|
||||
#if defined(SYSCALL_DEBUG) && defined(COMPAT_ULTRIX)
|
||||
if (p->p_emul == EMUL_ULTRIX)
|
||||
ultrix_scdebug_call(p,
|
||||
code, callp->sy_narg,
|
||||
args.i);
|
||||
#endif
|
||||
#ifdef SYSCALL_DEBUG
|
||||
if (p->p_emul == EMUL_NETBSD)
|
||||
scdebug_call(p,
|
||||
code, callp->sy_narg,
|
||||
args.i);
|
||||
#endif
|
||||
#ifdef KTRACE
|
||||
if (KTRPOINT(p, KTR_SYSCALL))
|
||||
ktrsyscall(p->p_tracep, code,
|
||||
|
@ -479,6 +535,18 @@ trap(statusReg, causeReg, vadr, pc, args)
|
|||
if (i) {
|
||||
locr0[V0] = i;
|
||||
locr0[A3] = 1;
|
||||
#if defined(SYSCALL_DEBUG) && defined(COMPAT_ULTRIX)
|
||||
if (p->p_emul == EMUL_ULTRIX)
|
||||
ultrix_scdebug_call(p,
|
||||
code, callp->sy_narg,
|
||||
args.i);
|
||||
#endif
|
||||
#ifdef SYSCALL_DEBUG
|
||||
if (p->p_emul == EMUL_NETBSD)
|
||||
scdebug_call(p,
|
||||
code, callp->sy_narg,
|
||||
args.i);
|
||||
#endif
|
||||
#ifdef KTRACE
|
||||
if (KTRPOINT(p, KTR_SYSCALL))
|
||||
ktrsyscall(p->p_tracep, code,
|
||||
|
@ -507,6 +575,18 @@ trap(statusReg, causeReg, vadr, pc, args)
|
|||
if (i) {
|
||||
locr0[V0] = i;
|
||||
locr0[A3] = 1;
|
||||
#if defined(SYSCALL_DEBUG) && defined(COMPAT_ULTRIX)
|
||||
if (p->p_emul == EMUL_ULTRIX)
|
||||
ultrix_scdebug_call(p,
|
||||
code, callp->sy_narg,
|
||||
args.i);
|
||||
#endif
|
||||
#ifdef SYSCALL_DEBUG
|
||||
if (p->p_emul == EMUL_NETBSD)
|
||||
scdebug_call(p,
|
||||
code, callp->sy_narg,
|
||||
args.i);
|
||||
#endif
|
||||
#ifdef KTRACE
|
||||
if (KTRPOINT(p, KTR_SYSCALL))
|
||||
ktrsyscall(p->p_tracep, code,
|
||||
|
@ -516,6 +596,14 @@ trap(statusReg, causeReg, vadr, pc, args)
|
|||
}
|
||||
}
|
||||
}
|
||||
#if defined(SYSCALL_DEBUG) && defined(COMPAT_ULTRIX)
|
||||
if (p->p_emul == EMUL_ULTRIX)
|
||||
ultrix_scdebug_call(p, code, callp->sy_narg, args.i);
|
||||
#endif
|
||||
#ifdef SYSCALL_DEBUG
|
||||
if (p->p_emul == EMUL_NETBSD)
|
||||
scdebug_call(p, code, callp->sy_narg, args.i);
|
||||
#endif
|
||||
#ifdef KTRACE
|
||||
if (KTRPOINT(p, KTR_SYSCALL))
|
||||
ktrsyscall(p->p_tracep, code, callp->sy_narg, args.i);
|
||||
|
@ -568,6 +656,14 @@ trap(statusReg, causeReg, vadr, pc, args)
|
|||
locr0[A3] = 1;
|
||||
}
|
||||
done:
|
||||
#if defined(COMPAT_ULTRIX) && defined(SYSCALL_DEBUG)
|
||||
if (p->p_emul == EMUL_ULTRIX)
|
||||
ultrix_scdebug_ret(p, code, i, rval[0]);
|
||||
#endif
|
||||
#ifdef SYSCALL_DEBUG
|
||||
if (p->p_emul == EMUL_NETBSD)
|
||||
scdebug_ret(p, code, i, rval[0]);
|
||||
#endif
|
||||
#ifdef KTRACE
|
||||
if (KTRPOINT(p, KTR_SYSRET))
|
||||
ktrsysret(p->p_tracep, code, i, rval[0]);
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
* SUCH DAMAGE.
|
||||
*
|
||||
* from: @(#)dc.c 8.2 (Berkeley) 11/30/93
|
||||
* $Id: dc.c,v 1.6 1994/06/02 06:14:59 glass Exp $
|
||||
* $Id: dc.c,v 1.7 1994/06/15 05:18:38 glass Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
|
@ -487,14 +487,12 @@ dcrint(unit)
|
|||
register dcregs *dcaddr;
|
||||
register struct tty *tp;
|
||||
register int c, cc;
|
||||
register struct tty *tp0;
|
||||
int overrun = 0;
|
||||
|
||||
dcaddr = (dcregs *)dcpdma[unit].p_addr;
|
||||
tp0 = dc_tty[unit];
|
||||
while ((c = dcaddr->dc_rbuf) < 0) { /* char present */
|
||||
cc = c & 0xff;
|
||||
tp = tp0 + ((c >> 8) & 03);
|
||||
tp = dc_tty[unit + ((c >> 8) & 03)];
|
||||
if ((c & RBUF_OERR) && overrun == 0) {
|
||||
log(LOG_WARNING, "dc%d,%d: silo overflow\n", unit >> 2,
|
||||
(c >> 8) & 03);
|
||||
|
@ -580,9 +578,7 @@ dcxint(tp)
|
|||
dp = &dcpdma[unit];
|
||||
if (dp->p_mem < dp->p_end) {
|
||||
dcaddr = (dcregs *)dp->p_addr;
|
||||
/* dcaddr->dc_tdr = dc_brk[(tp - dc_tty) >> 2] |*/
|
||||
dcaddr->dc_tdr = dc_brk[unit >> 2] |
|
||||
*dp->p_mem++; /* XXX i think i broke this */
|
||||
dcaddr->dc_tdr = dc_brk[unit >> 2] | *dp->p_mem++;
|
||||
MachEmptyWriteBuffer();
|
||||
DELAY(10);
|
||||
return;
|
||||
|
@ -648,17 +644,10 @@ dcstart(tp)
|
|||
}
|
||||
goto out;
|
||||
}
|
||||
if (tp->t_flags & (RAW|LITOUT))
|
||||
cc = ndqb(&tp->t_outq, 0);
|
||||
else {
|
||||
cc = ndqb(&tp->t_outq, 0200);
|
||||
if (cc == 0) {
|
||||
cc = getc(&tp->t_outq);
|
||||
timeout(ttrstrt, (void *)tp, (cc & 0x7f) + 6);
|
||||
tp->t_state |= TS_TIMEOUT;
|
||||
goto out;
|
||||
}
|
||||
}
|
||||
cc = ndqb(&tp->t_outq, 0);
|
||||
if (cc == 0)
|
||||
goto out;
|
||||
|
||||
tp->t_state |= TS_BUSY;
|
||||
dp->p_end = dp->p_mem = tp->t_outq.c_cf;
|
||||
dp->p_end += cc;
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
* SUCH DAMAGE.
|
||||
*
|
||||
* from: @(#)machdep.c 8.3 (Berkeley) 1/12/94
|
||||
* $Id: machdep.c,v 1.9 1994/06/14 02:47:40 glass Exp $
|
||||
* $Id: machdep.c,v 1.10 1994/06/15 05:18:47 glass Exp $
|
||||
*/
|
||||
|
||||
/* from: Utah Hdr: machdep.c 1.63 91/04/24 */
|
||||
|
@ -2164,10 +2164,10 @@ cpu_exec_ecoff_hook(p, epp, eap)
|
|||
struct exec_package *epp;
|
||||
struct ecoff_aouthdr *eap;
|
||||
{
|
||||
|
||||
epp->ep_emul = EMUL_ULTRIX;
|
||||
epp->ep_setup = cpu_exec_ecoff_setup;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
#endif
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
* from: Utah Hdr: trap.c 1.32 91/04/06
|
||||
*
|
||||
* from: @(#)trap.c 8.5 (Berkeley) 1/11/94
|
||||
* $Id: pmax_trap.c,v 1.5 1994/06/02 06:15:08 glass Exp $
|
||||
* $Id: pmax_trap.c,v 1.6 1994/06/15 05:18:53 glass Exp $
|
||||
*/
|
||||
|
||||
#include <sys/param.h>
|
||||
|
@ -178,6 +178,54 @@ extern u_long kn03_tc3_imask;
|
|||
int (*pmax_hardware_intr)() = (int (*)())0;
|
||||
extern volatile struct chiptime *Mach_clock_addr;
|
||||
|
||||
#ifdef COMPAT_ULTRIX
|
||||
extern struct sysent ultrix_sysent[];
|
||||
extern int nultrix_sysent;
|
||||
extern char *ultrix_syscallnames[];
|
||||
#endif
|
||||
|
||||
#if defined(COMPAT_ULTRIX) && defined(SYSCALL_DEBUG)
|
||||
int ultrix_scdebug = 1;
|
||||
|
||||
void
|
||||
ultrix_scdebug_call(p, code, narg, args)
|
||||
struct proc *p;
|
||||
int code, narg, *args;
|
||||
{
|
||||
int i;
|
||||
|
||||
if (!ultrix_scdebug)
|
||||
return;
|
||||
|
||||
printf("proc %d: ultrix syscall ", p->p_pid);
|
||||
if (code < 0 || code >= nultrix_sysent) {
|
||||
printf("OUT OF RANGE (%d)", code);
|
||||
code = 0;
|
||||
} else
|
||||
printf("%d", code);
|
||||
printf(" called: %s(", ultrix_syscallnames[code]);
|
||||
for (i = 0; i < narg; i++)
|
||||
printf("0x%x, ", args[i]);
|
||||
printf(")\n");
|
||||
}
|
||||
|
||||
void
|
||||
ultrix_scdebug_ret(p, code, error, retval)
|
||||
struct proc *p;
|
||||
int code, error, retval;
|
||||
{
|
||||
if (!ultrix_scdebug)
|
||||
return;
|
||||
|
||||
printf("proc %d: ultrix syscall ", p->p_pid);
|
||||
if (code < 0 || code >= nultrix_sysent) {
|
||||
printf("OUT OF RANGE (%d)", code);
|
||||
code = 0;
|
||||
} else
|
||||
printf("%d", code);
|
||||
printf(" return: error = %d, retval = %d\n", error, retval);
|
||||
}
|
||||
#endif
|
||||
/*
|
||||
* Handle an exception.
|
||||
* Called from MachKernGenException() or MachUserGenException()
|
||||
|
@ -402,10 +450,6 @@ trap(statusReg, causeReg, vadr, pc, args)
|
|||
int rval[2];
|
||||
struct sysent *systab;
|
||||
extern int nsysent;
|
||||
#ifdef COMPAT_ULTRIX
|
||||
extern struct sysent ultrix_sysent[];
|
||||
int nultrix_sysent;
|
||||
#endif
|
||||
|
||||
cnt.v_syscall++;
|
||||
/* compute next PC after syscall instruction */
|
||||
|
@ -448,6 +492,18 @@ trap(statusReg, causeReg, vadr, pc, args)
|
|||
if (i) {
|
||||
locr0[V0] = i;
|
||||
locr0[A3] = 1;
|
||||
#if defined(SYSCALL_DEBUG) && defined(COMPAT_ULTRIX)
|
||||
if (p->p_emul == EMUL_ULTRIX)
|
||||
ultrix_scdebug_call(p,
|
||||
code, callp->sy_narg,
|
||||
args.i);
|
||||
#endif
|
||||
#ifdef SYSCALL_DEBUG
|
||||
if (p->p_emul == EMUL_NETBSD)
|
||||
scdebug_call(p,
|
||||
code, callp->sy_narg,
|
||||
args.i);
|
||||
#endif
|
||||
#ifdef KTRACE
|
||||
if (KTRPOINT(p, KTR_SYSCALL))
|
||||
ktrsyscall(p->p_tracep, code,
|
||||
|
@ -479,6 +535,18 @@ trap(statusReg, causeReg, vadr, pc, args)
|
|||
if (i) {
|
||||
locr0[V0] = i;
|
||||
locr0[A3] = 1;
|
||||
#if defined(SYSCALL_DEBUG) && defined(COMPAT_ULTRIX)
|
||||
if (p->p_emul == EMUL_ULTRIX)
|
||||
ultrix_scdebug_call(p,
|
||||
code, callp->sy_narg,
|
||||
args.i);
|
||||
#endif
|
||||
#ifdef SYSCALL_DEBUG
|
||||
if (p->p_emul == EMUL_NETBSD)
|
||||
scdebug_call(p,
|
||||
code, callp->sy_narg,
|
||||
args.i);
|
||||
#endif
|
||||
#ifdef KTRACE
|
||||
if (KTRPOINT(p, KTR_SYSCALL))
|
||||
ktrsyscall(p->p_tracep, code,
|
||||
|
@ -507,6 +575,18 @@ trap(statusReg, causeReg, vadr, pc, args)
|
|||
if (i) {
|
||||
locr0[V0] = i;
|
||||
locr0[A3] = 1;
|
||||
#if defined(SYSCALL_DEBUG) && defined(COMPAT_ULTRIX)
|
||||
if (p->p_emul == EMUL_ULTRIX)
|
||||
ultrix_scdebug_call(p,
|
||||
code, callp->sy_narg,
|
||||
args.i);
|
||||
#endif
|
||||
#ifdef SYSCALL_DEBUG
|
||||
if (p->p_emul == EMUL_NETBSD)
|
||||
scdebug_call(p,
|
||||
code, callp->sy_narg,
|
||||
args.i);
|
||||
#endif
|
||||
#ifdef KTRACE
|
||||
if (KTRPOINT(p, KTR_SYSCALL))
|
||||
ktrsyscall(p->p_tracep, code,
|
||||
|
@ -516,6 +596,14 @@ trap(statusReg, causeReg, vadr, pc, args)
|
|||
}
|
||||
}
|
||||
}
|
||||
#if defined(SYSCALL_DEBUG) && defined(COMPAT_ULTRIX)
|
||||
if (p->p_emul == EMUL_ULTRIX)
|
||||
ultrix_scdebug_call(p, code, callp->sy_narg, args.i);
|
||||
#endif
|
||||
#ifdef SYSCALL_DEBUG
|
||||
if (p->p_emul == EMUL_NETBSD)
|
||||
scdebug_call(p, code, callp->sy_narg, args.i);
|
||||
#endif
|
||||
#ifdef KTRACE
|
||||
if (KTRPOINT(p, KTR_SYSCALL))
|
||||
ktrsyscall(p->p_tracep, code, callp->sy_narg, args.i);
|
||||
|
@ -568,6 +656,14 @@ trap(statusReg, causeReg, vadr, pc, args)
|
|||
locr0[A3] = 1;
|
||||
}
|
||||
done:
|
||||
#if defined(COMPAT_ULTRIX) && defined(SYSCALL_DEBUG)
|
||||
if (p->p_emul == EMUL_ULTRIX)
|
||||
ultrix_scdebug_ret(p, code, i, rval[0]);
|
||||
#endif
|
||||
#ifdef SYSCALL_DEBUG
|
||||
if (p->p_emul == EMUL_NETBSD)
|
||||
scdebug_ret(p, code, i, rval[0]);
|
||||
#endif
|
||||
#ifdef KTRACE
|
||||
if (KTRPOINT(p, KTR_SYSRET))
|
||||
ktrsysret(p->p_tracep, code, i, rval[0]);
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
* from: Utah Hdr: trap.c 1.32 91/04/06
|
||||
*
|
||||
* from: @(#)trap.c 8.5 (Berkeley) 1/11/94
|
||||
* $Id: trap.c,v 1.5 1994/06/02 06:15:08 glass Exp $
|
||||
* $Id: trap.c,v 1.6 1994/06/15 05:18:53 glass Exp $
|
||||
*/
|
||||
|
||||
#include <sys/param.h>
|
||||
|
@ -178,6 +178,54 @@ extern u_long kn03_tc3_imask;
|
|||
int (*pmax_hardware_intr)() = (int (*)())0;
|
||||
extern volatile struct chiptime *Mach_clock_addr;
|
||||
|
||||
#ifdef COMPAT_ULTRIX
|
||||
extern struct sysent ultrix_sysent[];
|
||||
extern int nultrix_sysent;
|
||||
extern char *ultrix_syscallnames[];
|
||||
#endif
|
||||
|
||||
#if defined(COMPAT_ULTRIX) && defined(SYSCALL_DEBUG)
|
||||
int ultrix_scdebug = 1;
|
||||
|
||||
void
|
||||
ultrix_scdebug_call(p, code, narg, args)
|
||||
struct proc *p;
|
||||
int code, narg, *args;
|
||||
{
|
||||
int i;
|
||||
|
||||
if (!ultrix_scdebug)
|
||||
return;
|
||||
|
||||
printf("proc %d: ultrix syscall ", p->p_pid);
|
||||
if (code < 0 || code >= nultrix_sysent) {
|
||||
printf("OUT OF RANGE (%d)", code);
|
||||
code = 0;
|
||||
} else
|
||||
printf("%d", code);
|
||||
printf(" called: %s(", ultrix_syscallnames[code]);
|
||||
for (i = 0; i < narg; i++)
|
||||
printf("0x%x, ", args[i]);
|
||||
printf(")\n");
|
||||
}
|
||||
|
||||
void
|
||||
ultrix_scdebug_ret(p, code, error, retval)
|
||||
struct proc *p;
|
||||
int code, error, retval;
|
||||
{
|
||||
if (!ultrix_scdebug)
|
||||
return;
|
||||
|
||||
printf("proc %d: ultrix syscall ", p->p_pid);
|
||||
if (code < 0 || code >= nultrix_sysent) {
|
||||
printf("OUT OF RANGE (%d)", code);
|
||||
code = 0;
|
||||
} else
|
||||
printf("%d", code);
|
||||
printf(" return: error = %d, retval = %d\n", error, retval);
|
||||
}
|
||||
#endif
|
||||
/*
|
||||
* Handle an exception.
|
||||
* Called from MachKernGenException() or MachUserGenException()
|
||||
|
@ -402,10 +450,6 @@ trap(statusReg, causeReg, vadr, pc, args)
|
|||
int rval[2];
|
||||
struct sysent *systab;
|
||||
extern int nsysent;
|
||||
#ifdef COMPAT_ULTRIX
|
||||
extern struct sysent ultrix_sysent[];
|
||||
int nultrix_sysent;
|
||||
#endif
|
||||
|
||||
cnt.v_syscall++;
|
||||
/* compute next PC after syscall instruction */
|
||||
|
@ -448,6 +492,18 @@ trap(statusReg, causeReg, vadr, pc, args)
|
|||
if (i) {
|
||||
locr0[V0] = i;
|
||||
locr0[A3] = 1;
|
||||
#if defined(SYSCALL_DEBUG) && defined(COMPAT_ULTRIX)
|
||||
if (p->p_emul == EMUL_ULTRIX)
|
||||
ultrix_scdebug_call(p,
|
||||
code, callp->sy_narg,
|
||||
args.i);
|
||||
#endif
|
||||
#ifdef SYSCALL_DEBUG
|
||||
if (p->p_emul == EMUL_NETBSD)
|
||||
scdebug_call(p,
|
||||
code, callp->sy_narg,
|
||||
args.i);
|
||||
#endif
|
||||
#ifdef KTRACE
|
||||
if (KTRPOINT(p, KTR_SYSCALL))
|
||||
ktrsyscall(p->p_tracep, code,
|
||||
|
@ -479,6 +535,18 @@ trap(statusReg, causeReg, vadr, pc, args)
|
|||
if (i) {
|
||||
locr0[V0] = i;
|
||||
locr0[A3] = 1;
|
||||
#if defined(SYSCALL_DEBUG) && defined(COMPAT_ULTRIX)
|
||||
if (p->p_emul == EMUL_ULTRIX)
|
||||
ultrix_scdebug_call(p,
|
||||
code, callp->sy_narg,
|
||||
args.i);
|
||||
#endif
|
||||
#ifdef SYSCALL_DEBUG
|
||||
if (p->p_emul == EMUL_NETBSD)
|
||||
scdebug_call(p,
|
||||
code, callp->sy_narg,
|
||||
args.i);
|
||||
#endif
|
||||
#ifdef KTRACE
|
||||
if (KTRPOINT(p, KTR_SYSCALL))
|
||||
ktrsyscall(p->p_tracep, code,
|
||||
|
@ -507,6 +575,18 @@ trap(statusReg, causeReg, vadr, pc, args)
|
|||
if (i) {
|
||||
locr0[V0] = i;
|
||||
locr0[A3] = 1;
|
||||
#if defined(SYSCALL_DEBUG) && defined(COMPAT_ULTRIX)
|
||||
if (p->p_emul == EMUL_ULTRIX)
|
||||
ultrix_scdebug_call(p,
|
||||
code, callp->sy_narg,
|
||||
args.i);
|
||||
#endif
|
||||
#ifdef SYSCALL_DEBUG
|
||||
if (p->p_emul == EMUL_NETBSD)
|
||||
scdebug_call(p,
|
||||
code, callp->sy_narg,
|
||||
args.i);
|
||||
#endif
|
||||
#ifdef KTRACE
|
||||
if (KTRPOINT(p, KTR_SYSCALL))
|
||||
ktrsyscall(p->p_tracep, code,
|
||||
|
@ -516,6 +596,14 @@ trap(statusReg, causeReg, vadr, pc, args)
|
|||
}
|
||||
}
|
||||
}
|
||||
#if defined(SYSCALL_DEBUG) && defined(COMPAT_ULTRIX)
|
||||
if (p->p_emul == EMUL_ULTRIX)
|
||||
ultrix_scdebug_call(p, code, callp->sy_narg, args.i);
|
||||
#endif
|
||||
#ifdef SYSCALL_DEBUG
|
||||
if (p->p_emul == EMUL_NETBSD)
|
||||
scdebug_call(p, code, callp->sy_narg, args.i);
|
||||
#endif
|
||||
#ifdef KTRACE
|
||||
if (KTRPOINT(p, KTR_SYSCALL))
|
||||
ktrsyscall(p->p_tracep, code, callp->sy_narg, args.i);
|
||||
|
@ -568,6 +656,14 @@ trap(statusReg, causeReg, vadr, pc, args)
|
|||
locr0[A3] = 1;
|
||||
}
|
||||
done:
|
||||
#if defined(COMPAT_ULTRIX) && defined(SYSCALL_DEBUG)
|
||||
if (p->p_emul == EMUL_ULTRIX)
|
||||
ultrix_scdebug_ret(p, code, i, rval[0]);
|
||||
#endif
|
||||
#ifdef SYSCALL_DEBUG
|
||||
if (p->p_emul == EMUL_NETBSD)
|
||||
scdebug_ret(p, code, i, rval[0]);
|
||||
#endif
|
||||
#ifdef KTRACE
|
||||
if (KTRPOINT(p, KTR_SYSRET))
|
||||
ktrsysret(p->p_tracep, code, i, rval[0]);
|
||||
|
|
Loading…
Reference in New Issue