On 15 May 2017, at 7:26, Konstantin Belousov wrote:

Try this.  If it works, I will write a proper patch.

diff --git a/sys/amd64/amd64/cpu_switch.S b/sys/amd64/amd64/cpu_switch.S
index 33437ad16e6..9c0cd05ebea 100644
--- a/sys/amd64/amd64/cpu_switch.S
+++ b/sys/amd64/amd64/cpu_switch.S
@@ -369,6 +369,11 @@ END(savectx)
  * Resuming processor state from pcb.
  */
 ENTRY(resumectx)
+       movl    $MSR_EFER,%ecx
+       rdmsr
+       orl     $EFER_NXE,%eax
+       wrmsr
+
        /* Switch to KPML4phys. */
        movq    KPML4phys,%rax
        movq    %rax,%cr3

Running drm-next (which has -CURRENT last merged somewhere around r317651), this patch fixes one of the two problems I've been experiencing with suspend/resume. Definite progress. :)

Thanks!


Jon
--
Jonathan Anderson
jonat...@freebsd.org
_______________________________________________
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to