Remove 'struct trapframe' pointer from mips64's 'struct syscall_args'.
While here, use MAXARGS. This brings its 'struct syscall_args' in sync with most other architectures. Reviewed by: arichardson, brooks MFC after: 2 weeks Sponsored by: EPSRC Differential Revision: https://reviews.freebsd.org/D26619
This commit is contained in:
parent
890efa1ab9
commit
24adaab477
@ -81,11 +81,11 @@ struct mdproc {
|
||||
size_t md_tls_tcb_offset; /* TCB offset */
|
||||
};
|
||||
|
||||
#define MAXARGS 8
|
||||
struct syscall_args {
|
||||
u_int code;
|
||||
struct sysent *callp;
|
||||
register_t args[8];
|
||||
struct trapframe *trapframe;
|
||||
register_t args[MAXARGS];
|
||||
};
|
||||
|
||||
#ifdef __mips_n64
|
||||
|
@ -349,9 +349,9 @@ cpu_fetch_syscall_args(struct thread *td)
|
||||
bzero(sa->args, sizeof(sa->args));
|
||||
|
||||
/* compute next PC after syscall instruction */
|
||||
td->td_pcb->pcb_tpc = sa->trapframe->pc; /* Remember if restart */
|
||||
if (DELAYBRANCH(sa->trapframe->cause)) /* Check BD bit */
|
||||
locr0->pc = MipsEmulateBranch(locr0, sa->trapframe->pc, 0, 0);
|
||||
td->td_pcb->pcb_tpc = locr0->pc; /* Remember if restart */
|
||||
if (DELAYBRANCH(locr0->cause)) /* Check BD bit */
|
||||
locr0->pc = MipsEmulateBranch(locr0, locr0->pc, 0, 0);
|
||||
else
|
||||
locr0->pc += sizeof(int);
|
||||
sa->code = locr0->v0;
|
||||
@ -781,7 +781,6 @@ dofault:
|
||||
|
||||
case T_SYSCALL + T_USER:
|
||||
{
|
||||
td->td_sa.trapframe = trapframe;
|
||||
syscallenter(td);
|
||||
|
||||
#if !defined(SMP) && (defined(DDB) || defined(DEBUG))
|
||||
|
Loading…
x
Reference in New Issue
Block a user