Avoid save/restoring AMX registers to avoid a SPR erratum
commitc65aaa83876f9764f9017db278cefa453e1a3f5b
authorRich Ercolani <214141+rincebrain@users.noreply.github.com>
Sat, 26 Aug 2023 18:25:46 +0000 (26 14:25 -0400)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Sun, 27 Aug 2023 15:25:42 +0000 (27 08:25 -0700)
tree4189aad2711039464e0484129ae84b1fad2bb94e
parente99e684b337b44d5507ab51b02cf50a11b064162
Avoid save/restoring AMX registers to avoid a SPR erratum

Intel SPR erratum SPR4 says that if you trip into a vmexit while
doing FPU save/restore, your AMX register state might misbehave...
and by misbehave, I mean save all zeroes incorrectly, leading to
explosions if you restore it.

Since we're not using AMX for anything, the simple way to avoid
this is to just not save/restore those when we do anything, since
we're killing preemption of any sort across our save/restores.

If we ever decide to use AMX, it's not clear that we have any
way to mitigate this, on Linux...but I am not an expert.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Rich Ercolani <rincebrain@gmail.com>
Closes #14989
Closes #15168
include/os/linux/kernel/linux/simd_x86.h