opnsense-src/sys/powerpc/booke
Brandon Bergren d98eb707b0 [PowerPC] Fix VSX context handling
In r356767, memcpy/memmove/bcopy optimizations were added to libc to
improve performance.

This exposed an existing kernel issue in VSX handling. The PSL_VSX flag was
not being excluded from the psl_userstatic set, which meant that any thread
that used these and then called swapcontext(3) would get an EINVAL error.

Fixing this exposed a second issue - in r344123, the FPU was being forced
off in set_mcontext(). However, this was neglecting to ensure VSX was turned
off at the same time.

While here, add some code comments to explain what's going on.

Reviewed by:	jhibbits, luporl (earlier rev), pkubaj (earlier rev)
Sponsored by:	Tag1 Consulting, Inc.
Differential Revision:	https://reviews.freebsd.org/D23497
2020-02-04 20:40:45 +00:00
..
booke_machdep.c [PowerPC] Fix VSX context handling 2020-02-04 20:40:45 +00:00
locore.S powerpc/booke: Fix 32-bit Book-E SMP AP bringup 2019-12-04 03:41:55 +00:00
machdep_e500.c sys/powerpc: further adoption of SPDX licensing ID tags. 2017-11-27 15:09:59 +00:00
machdep_ppc4xx.c sys/powerpc: further adoption of SPDX licensing ID tags. 2017-11-27 15:09:59 +00:00
mp_cpudep.c sys/powerpc: further adoption of SPDX licensing ID tags. 2017-11-27 15:09:59 +00:00
platform_bare.c sys/powerpc: further adoption of SPDX licensing ID tags. 2017-11-27 15:09:59 +00:00
pmap.c [PowerPC] Fix Book-E direct map for >=16G ram on e5500 2020-01-18 01:22:54 +00:00
spe.c [PowerPC] Fix SPE floating point environment manipulation 2019-12-12 17:12:18 +00:00
trap_subr.S powerpc/booke: Only handle kernel page faults in KVA range 2019-11-08 04:26:19 +00:00