Sprinkle some register prefixes in the asm() statements.
This commit is contained in:
parent
14d5cf4541
commit
7fb03460dc
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: linux_machdep.c,v 1.4 1999/04/19 20:58:38 kleink Exp $ */
|
||||
/* $NetBSD: linux_machdep.c,v 1.5 2000/12/16 22:59:32 scw Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1998 The NetBSD Foundation, Inc.
|
||||
|
@ -187,13 +187,13 @@ setup_linux_sigframe(frame, sig, mask, usp)
|
|||
: : "memory");
|
||||
if (((struct fpframe060 *)&kf.sf_c.c_sc.sc_ss.ss_fpstate.FPF_u1)
|
||||
->fpf6_frmfmt != FPF6_FMT_NULL) {
|
||||
asm("fmovem fp0-fp1,%0" :
|
||||
asm("fmovem %%fp0-%%fp1,%0" :
|
||||
"=m" (*kf.sf_c.c_sc.sc_ss.ss_fpstate.fpf_regs));
|
||||
/*
|
||||
* On 060, "fmovem fpcr/fpsr/fpi,<ea>" is
|
||||
* emulated by software and slow.
|
||||
*/
|
||||
asm("fmovem fpcr,%0; fmovem fpsr,%1; fmovem fpi,%2" :
|
||||
asm("fmovem %%fpcr,%0; fmovem %%fpsr,%1; fmovem %%fpi,%2" :
|
||||
"=m" (kf.sf_c.c_sc.sc_ss.ss_fpstate.fpf_fpcr),
|
||||
"=m" (kf.sf_c.c_sc.sc_ss.ss_fpstate.fpf_fpsr),
|
||||
"=m" (kf.sf_c.c_sc.sc_ss.ss_fpstate.fpf_fpiar));
|
||||
|
@ -204,7 +204,7 @@ setup_linux_sigframe(frame, sig, mask, usp)
|
|||
asm("fsave %0" : "=m" (kf.sf_c.c_sc.sc_ss.ss_fpstate.FPF_u1)
|
||||
: : "memory");
|
||||
if (kf.sf_c.c_sc.sc_ss.ss_fpstate.fpf_version) {
|
||||
asm("fmovem fp0-fp1,%0; fmovem fpcr/fpsr/fpi,%1" :
|
||||
asm("fmovem %%fp0-%%fp1,%0; fmovem %%fpcr/%%fpsr/%%fpi,%1" :
|
||||
"=m" (*kf.sf_c.c_sc.sc_ss.ss_fpstate.fpf_regs),
|
||||
"=m" (kf.sf_c.c_sc.sc_ss.ss_fpstate.fpf_fpcr)
|
||||
: : "memory");
|
||||
|
@ -351,13 +351,13 @@ setup_linux_rt_sigframe(frame, sig, mask, usp, psp)
|
|||
/* See note below. */
|
||||
if (((struct fpframe060 *) &kf.sf_uc.uc_ss.ss_fpstate.FPF_u1)
|
||||
->fpf6_frmfmt != FPF6_FMT_NULL) {
|
||||
asm("fmovem fp0-fp7,%0" :
|
||||
asm("fmovem %%fp0-%%fp7,%0" :
|
||||
"=m" (*kf.sf_uc.uc_mc.mc_fpregs.fpr_regs));
|
||||
/*
|
||||
* On 060, "fmovem fpcr/fpsr/fpi,<ea>" is
|
||||
* emulated by software and slow.
|
||||
*/
|
||||
asm("fmovem fpcr,%0; fmovem fpsr,%1; fmovem fpi,%2" :
|
||||
asm("fmovem %%fpcr,%0; fmovem %%fpsr,%1; fmovem %%fpi,%2" :
|
||||
"=m" (kf.sf_uc.uc_mc.mc_fpregs.fpr_fpcr),
|
||||
"=m" (kf.sf_uc.uc_mc.mc_fpregs.fpr_fpsr),
|
||||
"=m" (kf.sf_uc.uc_mc.mc_fpregs.fpr_fpiar));
|
||||
|
@ -376,7 +376,7 @@ setup_linux_rt_sigframe(frame, sig, mask, usp, psp)
|
|||
*/
|
||||
asm("fsave %0" : "=m" (kf.sf_uc.uc_ss.ss_fpstate));
|
||||
if (kf.sf_uc.uc_ss.ss_fpstate.fpf_version) {
|
||||
asm("fmovem fp0-fp7,%0; fmovem fpcr/fpsr/fpi,%1" :
|
||||
asm("fmovem %%fp0-%%fp7,%0; fmovem %%fpcr/%%fpsr/%%fpi,%1" :
|
||||
"=m" (*kf.sf_uc.uc_mc.mc_fpregs.fpr_regs),
|
||||
"=m" (kf.sf_uc.uc_mc.mc_fpregs.fpr_fpcr)
|
||||
: : "memory");
|
||||
|
@ -623,11 +623,11 @@ bad: sigexit(p, SIGSEGV);
|
|||
* On 060, "fmovem <ea>,fpcr/fpsr/fpi" is
|
||||
* emulated by software and slow.
|
||||
*/
|
||||
asm("fmovem %0,fpcr; fmovem %1,fpsr; fmovem %2,fpi" : :
|
||||
asm("fmovem %0,%%fpcr; fmovem %1,%%fpsr; fmovem %2,%%fpi"::
|
||||
"m" (scp->sc_ss.ss_fpstate.fpf_fpcr),
|
||||
"m" (scp->sc_ss.ss_fpstate.fpf_fpsr),
|
||||
"m" (scp->sc_ss.ss_fpstate.fpf_fpiar));
|
||||
asm("fmovem %0,fp0-fp1" : :
|
||||
asm("fmovem %0,%%fp0-%%fp1" : :
|
||||
"m" (*scp->sc_ss.ss_fpstate.fpf_regs));
|
||||
}
|
||||
asm("frestore %0" : : "m" (scp->sc_ss.ss_fpstate.FPF_u1));
|
||||
|
@ -635,7 +635,7 @@ bad: sigexit(p, SIGSEGV);
|
|||
#endif
|
||||
default:
|
||||
if (scp->sc_ss.ss_fpstate.fpf_version) {
|
||||
asm("fmovem %0,fpcr/fpsr/fpi; fmovem %1,fp0-fp1" : :
|
||||
asm("fmovem %0,%%fpcr/%%fpsr/%%fpi; fmovem %1,%%fp0-%%fp1"::
|
||||
"m" (scp->sc_ss.ss_fpstate.fpf_fpcr),
|
||||
"m" (*scp->sc_ss.ss_fpstate.fpf_regs));
|
||||
}
|
||||
|
@ -765,11 +765,11 @@ bad: sigexit(p, SIGSEGV);
|
|||
* On 060, "fmovem <ea>,fpcr/fpsr/fpi" is
|
||||
* emulated by software and slow.
|
||||
*/
|
||||
asm("fmovem %0,fpcr; fmovem %1,fpsr; fmovem %2,fpi" : :
|
||||
asm("fmovem %0,%%fpcr; fmovem %1,%%fpsr; fmovem %2,%%fpi"::
|
||||
"m" (tuc.uc_mc.mc_fpregs.fpr_fpcr),
|
||||
"m" (tuc.uc_mc.mc_fpregs.fpr_fpsr),
|
||||
"m" (tuc.uc_mc.mc_fpregs.fpr_fpiar));
|
||||
asm("fmovem %0,fp0-fp1" : :
|
||||
asm("fmovem %0,%%fp0-%%fp1" : :
|
||||
"m" (*tuc.uc_mc.mc_fpregs.fpr_regs));
|
||||
}
|
||||
asm("frestore %0" : : "m" (tuc.uc_ss.ss_fpstate.FPF_u1));
|
||||
|
@ -777,7 +777,7 @@ bad: sigexit(p, SIGSEGV);
|
|||
#endif
|
||||
default:
|
||||
if (tuc.uc_ss.ss_fpstate.fpf_version) {
|
||||
asm("fmovem %0,fpcr/fpsr/fpi; fmovem %1,fp0-fp1" : :
|
||||
asm("fmovem %0,%%fpcr/%%fpsr/%%fpi; fmovem %1,%%fp0-%%fp1"::
|
||||
"m" (tuc.uc_mc.mc_fpregs.fpr_fpcr),
|
||||
"m" (*tuc.uc_mc.mc_fpregs.fpr_regs));
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue