svn commit: r309167 - head/sys/powerpc/include
Justin Hibbits
jhibbits at FreeBSD.org
Fri Nov 25 19:36:28 UTC 2016
Author: jhibbits
Date: Fri Nov 25 19:36:27 2016
New Revision: 309167
URL: https://svnweb.freebsd.org/changeset/base/309167
Log:
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
Modified:
head/sys/powerpc/include/cpufunc.h
Modified: head/sys/powerpc/include/cpufunc.h
==============================================================================
--- head/sys/powerpc/include/cpufunc.h Fri Nov 25 19:25:20 2016 (r309166)
+++ head/sys/powerpc/include/cpufunc.h Fri Nov 25 19:36:27 2016 (r309167)
@@ -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
More information about the svn-src-head
mailing list