2 #include <linux/linkage.h>
3 #include <asm/segment.h>
15 # Clear any dangerous flags
21 movl $swsusp_pg_dir - __PAGE_OFFSET, %eax
32 ljmpl $__KERNEL_CS,$wakeup_return
38 movw $__KERNEL_DS, %ax
48 ljmp $(__KERNEL_CS),$1f
54 # Go back to the return point
72 movl %ebx, saved_context_ebx
73 movl %ebp, saved_context_ebp
74 movl %esi, saved_context_esi
75 movl %edi, saved_context_edi
78 popl saved_context_eflags
84 movl saved_context_ebp, %ebp
85 movl saved_context_ebx, %ebx
86 movl saved_context_esi, %esi
87 movl saved_context_edi, %edi
89 pushl saved_context_eflags
95 ENTRY(do_olpc_suspend_lowlevel)
96 call save_processor_state
99 # This is the stack context we want to remember
100 movl %esp, saved_context_esp
108 movl saved_context_esp, %esp
110 call restore_registers
111 call restore_processor_state