Merge branch 'drm-patches' of master.kernel.org:/pub/scm/linux/kernel/git/airlied...
[linux-drm-fsl-dcu.git] / arch / x86_64 / kernel / suspend_asm.S
index 320b6fb00ccadf9a426e39ce9055174ee692dec2..16d183f67bc1e66e790f6160ae54a436554b9041 100644 (file)
@@ -54,7 +54,7 @@ ENTRY(restore_image)
        movq    %rcx, %cr3;
        movq    %rax, %cr4;  # turn PGE back on
 
-       movq    pagedir_nosave(%rip), %rdx
+       movq    restore_pblist(%rip), %rdx
 loop:
        testq   %rdx, %rdx
        jz      done
@@ -71,9 +71,10 @@ loop:
        jmp     loop
 done:
        /* go back to the original page tables */
-       leaq    init_level4_pgt(%rip), %rax
-       subq    $__START_KERNEL_map, %rax
-       movq    %rax, %cr3
+       movq    $(init_level4_pgt - __START_KERNEL_map), %rax
+       addq    phys_base(%rip), %rax
+       movq    %rax, %cr3
+
        /* Flush TLB, including "global" things (vmalloc) */
        movq    mmu_cr4_features(%rip), %rax
        movq    %rax, %rdx