Pull button into test branch
[linux-drm-fsl-dcu.git] / arch / i386 / power / swsusp.S
index c893b897217fa597ce6c43692eb5630f171a1e25..53662e05b393e2c294734c71577705a5beb550c0 100644 (file)
@@ -28,11 +28,12 @@ ENTRY(swsusp_arch_suspend)
        call swsusp_save
        ret
 
-ENTRY(swsusp_arch_resume)
-       movl    $swsusp_pg_dir-__PAGE_OFFSET, %ecx
+ENTRY(restore_image)
+       movl    resume_pg_dir, %ecx
+       subl    $__PAGE_OFFSET, %ecx
        movl    %ecx, %cr3
 
-       movl    pagedir_nosave, %edx
+       movl    restore_pblist, %edx
        .p2align 4,,7
 
 copy_loop:
@@ -51,6 +52,10 @@ copy_loop:
        .p2align 4,,7
 
 done:
+       /* go back to the original page tables */
+       movl    $swapper_pg_dir, %ecx
+       subl    $__PAGE_OFFSET, %ecx
+       movl    %ecx, %cr3
        /* Flush TLB, including "global" things (vmalloc) */
        movl    mmu_cr4_features, %eax
        movl    %eax, %edx