This commit was manufactured by cvs2svn to create tag
[linux-2.6.git] / arch / i386 / power / swsusp.S
index 8e4a7ba..bdf03dd 100644 (file)
@@ -18,7 +18,7 @@
 ENTRY(do_magic)
        pushl %ebx
        cmpl $0,8(%esp)
-       jne resume
+       jne .L1450
        call do_magic_suspend_1
        call save_processor_state
 
@@ -33,21 +33,21 @@ ENTRY(do_magic)
        pushfl ; popl saved_context_eflags
 
        call do_magic_suspend_2
-       popl %ebx
-       ret
-
-resume:
+       jmp .L1449
+       .p2align 4,,7
+.L1450:
        movl $swsusp_pg_dir-__PAGE_OFFSET,%ecx
        movl %ecx,%cr3
 
        call do_magic_resume_1
        movl $0,loop
        cmpl $0,nr_copy_pages
-       je copy_done
-copy_loop:
+       je .L1453
+       .p2align 4,,7
+.L1455:
        movl $0,loop2
        .p2align 4,,7
-copy_one_page:
+.L1459:
        movl pagedir_nosave,%ecx
        movl loop,%eax
        movl loop2,%edx
@@ -56,21 +56,23 @@ copy_one_page:
        movl (%ecx,%eax),%eax
        movb (%edx,%eax),%al
        movb %al,(%edx,%ebx)
+       movl %cr3, %eax;              
+       movl %eax, %cr3;  # flush TLB 
 
        movl loop2,%eax
        leal 1(%eax),%edx
        movl %edx,loop2
        movl %edx,%eax
        cmpl $4095,%eax
-       jbe copy_one_page
+       jbe .L1459
        movl loop,%eax
        leal 1(%eax),%edx
        movl %edx,loop
        movl %edx,%eax
        cmpl nr_copy_pages,%eax
-       jb copy_loop
-
-copy_done:
+       jb .L1455
+       .p2align 4,,7
+.L1453:
        movl $__USER_DS,%eax
 
        movw %ax, %ds
@@ -86,6 +88,7 @@ copy_done:
        call restore_processor_state
        pushl saved_context_eflags ; popfl
        call do_magic_resume_2
+.L1449:
        popl %ebx
        ret