1 /* Originally gcc generated, modified by hand */
3 #include <linux/linkage.h>
4 #include <asm/segment.h>
9 ENTRY(pmdisk_arch_suspend)
13 movl %esp, saved_context_esp
14 movl %ebx, saved_context_ebx
15 movl %ebp, saved_context_ebp
16 movl %esi, saved_context_esi
17 movl %edi, saved_context_edi
18 pushfl ; popl saved_context_eflags
24 movl $swsusp_pg_dir-__PAGE_OFFSET,%ecx
27 movl pm_pagedir_nosave,%ebx
32 movl 4(%ebx,%edx),%edi
40 movl %ecx, %cr3; # flush TLB
44 cmpl pmdisk_pages,%eax
48 movl saved_context_esp, %esp
49 movl saved_context_ebp, %ebp
50 movl saved_context_ebx, %ebx
51 movl saved_context_esi, %esi
52 movl saved_context_edi, %edi
53 pushl saved_context_eflags ; popfl