3 /* Originally gcc generated, modified by hand */
5 #include <linux/linkage.h>
6 #include <asm/segment.h>
15 call do_magic_suspend_1
16 call save_processor_state
18 movl %esp, saved_context_esp
19 movl %eax, saved_context_eax
20 movl %ebx, saved_context_ebx
21 movl %ecx, saved_context_ecx
22 movl %edx, saved_context_edx
23 movl %ebp, saved_context_ebp
24 movl %esi, saved_context_esi
25 movl %edi, saved_context_edi
26 pushfl ; popl saved_context_eflags
28 call do_magic_suspend_2
32 movl $swapper_pg_dir-__PAGE_OFFSET,%ecx
35 call do_magic_resume_1
44 movl pagedir_nosave,%ecx
48 movl 4(%ecx,%eax),%ebx
53 movl %eax, %cr3; # flush TLB
65 cmpl nr_copy_pages,%eax
73 movl saved_context_esp, %esp
74 movl saved_context_ebp, %ebp
75 movl saved_context_eax, %eax
76 movl saved_context_ebx, %ebx
77 movl saved_context_ecx, %ecx
78 movl saved_context_edx, %edx
79 movl saved_context_esi, %esi
80 movl saved_context_edi, %edi
81 call restore_processor_state
82 pushl saved_context_eflags ; popfl
83 call do_magic_resume_2