Date: Tue, 23 Apr 2013 14:25:19 -0700 From: Juli Mallett <jmallett@FreeBSD.org> To: Warner Losh <imp@freebsd.org> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r249790 - in head/sys/mips: include mips Message-ID: <CACVs6=-TXQAuqbzRB7yq6GxeES==k%2BUXVr73z2n0jxBmbUWh9Q@mail.gmail.com> In-Reply-To: <201304230938.r3N9cIV0047961@svn.freebsd.org> References: <201304230938.r3N9cIV0047961@svn.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Apr 23, 2013 at 2:38 AM, Warner Losh <imp@freebsd.org> wrote: > Modified: head/sys/mips/include/frame.h > ============================================================================== > --- head/sys/mips/include/frame.h Tue Apr 23 06:37:50 2013 (r249789) > +++ head/sys/mips/include/frame.h Tue Apr 23 09:38:18 2013 (r249790) > @@ -37,6 +37,8 @@ > #ifndef _MACHINE_FRAME_H_ > #define _MACHINE_FRAME_H_ > > +/* Note: This must also match regnum.h and regdef.h */ > + > struct trapframe { > register_t zero; > register_t ast; > @@ -46,6 +48,16 @@ struct trapframe { > register_t a1; > register_t a2; > register_t a3; > +#if defined(__mips_n32) || defined(__mips_n64) > + register_t a4; > + register_t a5; > + register_t a6; > + register_t a7; > + register_t t0; > + register_t t1; > + register_t t2; > + register_t t3; > +#else > register_t t0; > register_t t1; > register_t t2; > @@ -54,6 +66,7 @@ struct trapframe { > register_t t5; > register_t t6; > register_t t7; > +#endif > register_t s0; > register_t s1; > register_t s2; > > Modified: head/sys/mips/mips/trap.c > ============================================================================== > --- head/sys/mips/mips/trap.c Tue Apr 23 06:37:50 2013 (r249789) > +++ head/sys/mips/mips/trap.c Tue Apr 23 09:38:18 2013 (r249790) > @@ -363,10 +363,10 @@ cpu_fetch_syscall_args(struct thread *td > /* > * Non-o32 ABIs support more arguments in registers. > */ > - sa->args[3] = locr0->t4; > - sa->args[4] = locr0->t5; > - sa->args[5] = locr0->t6; > - sa->args[6] = locr0->t7; > + sa->args[3] = locr0->t0; > + sa->args[4] = locr0->t1; > + sa->args[5] = locr0->t2; > + sa->args[6] = locr0->t3; > nsaved += 4; > #ifdef COMPAT_FREEBSD32 > } > @@ -389,10 +389,10 @@ cpu_fetch_syscall_args(struct thread *td > /* > * Non-o32 ABIs support more arguments in registers. > */ > - sa->args[4] = locr0->t4; > - sa->args[5] = locr0->t5; > - sa->args[6] = locr0->t6; > - sa->args[7] = locr0->t7; > + sa->args[4] = locr0->t0; > + sa->args[5] = locr0->t1; > + sa->args[6] = locr0->t2; > + sa->args[7] = locr0->t3; > nsaved += 4; > #ifdef COMPAT_FREEBSD32 > } These should use a4, a5, a6, a7 now, not t0, t1, t2, t3.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CACVs6=-TXQAuqbzRB7yq6GxeES==k%2BUXVr73z2n0jxBmbUWh9Q>