diff options
author | H. Peter Anvin <[email protected]> | 2013-07-12 16:48:12 -0700 |
---|---|---|
committer | H. Peter Anvin <[email protected]> | 2013-07-15 13:50:54 -0700 |
commit | 5ff560fd48d5b3d82fa0c3aff625c9da1a301911 (patch) | |
tree | 074ea5f9b708d54589fd04451488a588d75683e8 /lib/mpi/mpi-cmp.c | |
parent | ff5599816711d2e67da2d7561fd36ac48debd433 (diff) |
x86, suspend: Handle CPUs which fail to #GP on RDMSR
There are CPUs which have errata causing RDMSR of a nonexistent MSR to
not fault. We would then try to WRMSR to restore the value of that
MSR, causing a crash. Specifically, some Pentium M variants would
have this problem trying to save and restore the non-existent EFER,
causing a crash on resume.
Work around this by making sure we can write back the result at
suspend time.
Huge thanks to Christian Sünkenberg for finding the offending erratum
that finally deciphered the mystery.
Reported-and-tested-by: Johan Heinrich <[email protected]>
Debugged-by: Christian Sünkenberg <[email protected]>
Acked-by: Rafael J. Wysocki <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
Cc: <[email protected]> # v3.7+
Diffstat (limited to 'lib/mpi/mpi-cmp.c')
0 files changed, 0 insertions, 0 deletions