powerpc64: Avoid calling isync twice

Summary:
It is not necessary to call isync() after calling mtmsr() function, mainly
because the mtmsr() calls 'isync' internally to synchronize the machine state
register. Other than that, isync() just calls the 'isync' instruction, thus,
the 'isync' instruction is being called twice, and that seems to be unnecessary.

This patch just remove the unecessary calls to isync() after mtmsr().

Submitted by:	Breno Leitao
Differential Revision: https://reviews.freebsd.org/D14583
This commit is contained in:
Justin Hibbits 2018-04-08 16:46:24 +00:00
parent d6d0670814
commit 8238d3423d
3 changed files with 0 additions and 6 deletions

View file

@ -58,7 +58,6 @@ save_vec_int(struct thread *td)
*/
msr = mfmsr();
mtmsr(msr | PSL_VEC);
isync();
/*
* Save the vector registers and VSCR to the PCB
@ -120,7 +119,6 @@ enable_vec(struct thread *td)
*/
msr = mfmsr();
mtmsr(msr | PSL_VEC);
isync();
/*
* Restore VSCR by first loading it into a vector and then into VSCR.

View file

@ -710,7 +710,6 @@ cpu_idle_60x(sbintime_t sbt)
default:
powerpc_sync();
mtmsr(msr | PSL_POW);
isync();
break;
}
#endif
@ -739,7 +738,6 @@ cpu_idle_booke(sbintime_t sbt)
default:
powerpc_sync();
mtmsr(msr | PSL_WE);
isync();
break;
}
#endif

View file

@ -87,7 +87,6 @@ enable_fpu(struct thread *td)
mtmsr(msr | PSL_FP | PSL_VSX);
else
mtmsr(msr | PSL_FP);
isync();
/*
* Load the floating point registers and FPSCR from the PCB.
@ -143,7 +142,6 @@ save_fpu(struct thread *td)
mtmsr(msr | PSL_FP | PSL_VSX);
else
mtmsr(msr | PSL_FP);
isync();
/*
* Save the floating-point registers and FPSCR to the PCB