svn commit: r346730 - in head/sys/powerpc: aim powerpc
Justin Hibbits
jhibbits at FreeBSD.org
Fri Apr 26 03:18:51 UTC 2019
Author: jhibbits
Date: Fri Apr 26 03:18:49 2019
New Revision: 346730
URL: https://svnweb.freebsd.org/changeset/base/346730
Log:
powerpc64: Clear FSCR SPR, so that it's in a known state
This now turns any access to the DSCR SPR into a SIGILL. Later commits will
make DCSR work correctly on POWER8 and POWER9.
PR: 237208
Modified:
head/sys/powerpc/aim/mp_cpudep.c
head/sys/powerpc/powerpc/cpu.c
Modified: head/sys/powerpc/aim/mp_cpudep.c
==============================================================================
--- head/sys/powerpc/aim/mp_cpudep.c Fri Apr 26 03:13:44 2019 (r346729)
+++ head/sys/powerpc/aim/mp_cpudep.c Fri Apr 26 03:18:49 2019 (r346730)
@@ -98,6 +98,12 @@ cpudep_ap_early_bootstrap(void)
mtspr(SPR_LPCR, lpcr);
isync();
+
+ /*
+ * Nuke FSCR, to be managed on a per-process basis
+ * later.
+ */
+ mtspr(SPR_FSCR, 0);
}
#endif
break;
Modified: head/sys/powerpc/powerpc/cpu.c
==============================================================================
--- head/sys/powerpc/powerpc/cpu.c Fri Apr 26 03:13:44 2019 (r346729)
+++ head/sys/powerpc/powerpc/cpu.c Fri Apr 26 03:18:49 2019 (r346730)
@@ -663,6 +663,9 @@ cpu_powerx_setup(int cpuid, uint16_t vers)
if ((mfmsr() & PSL_HV) == 0)
return;
+ /* Nuke the FSCR, to disable all facilities. */
+ mtspr(SPR_FSCR, 0);
+
/* Configure power-saving */
switch (vers) {
case IBMPOWER8:
More information about the svn-src-all
mailing list