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>
