1
0
mirror of https://git.FreeBSD.org/src.git synced 2025-02-06 18:29:47 +00:00

Add an isync to after mtsrin, required by the MPC750 errata

MPC750 User Manual Errata (rev 1) adds a note to C.4.2.2 noting that mtsr,
mtsrin, and mtmsr all require a isync after the instruction and before data
address translation uses any of the segment registers.  This should make FreeBSD
run correctly on the G3 again.

Reported by:	Mark Millard
MFC after:	1 week
This commit is contained in:
Justin Hibbits 2016-11-25 19:36:27 +00:00
parent 9d99bb0a0a
commit 5ccc0779d4
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=309167

View File

@ -82,7 +82,7 @@ static __inline void
mtsrin(vm_offset_t va, register_t value)
{
__asm __volatile ("mtsrin %0,%1" :: "r"(value), "r"(va));
__asm __volatile ("mtsrin %0,%1; isync" :: "r"(value), "r"(va));
}
static __inline register_t