Date: Fri, 26 Apr 2019 03:18:50 +0000 (UTC) From: Justin Hibbits <jhibbits@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r346730 - in head/sys/powerpc: aim powerpc Message-ID: <201904260318.x3Q3IoZZ065725@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
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:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201904260318.x3Q3IoZZ065725>