swsusp.s
来自「Linux Kernel 2.6.9 for OMAP1710」· S 代码 · 共 62 行
S
62 行
.text/* Originally gcc generated, modified by hand * * This may not use any stack, nor any variable that is not "NoSave": * * Its rewriting one kernel image with another. What is stack in "old" * image could very well be data page in "new" image, and overwriting * your own stack under you is bad idea. */#include <linux/linkage.h>#include <asm/segment.h>#include <asm/page.h> .textENTRY(swsusp_arch_suspend) movl %esp, saved_context_esp movl %ebx, saved_context_ebx movl %ebp, saved_context_ebp movl %esi, saved_context_esi movl %edi, saved_context_edi pushfl ; popl saved_context_eflags call swsusp_save retENTRY(swsusp_arch_resume) movl $swsusp_pg_dir-__PAGE_OFFSET,%ecx movl %ecx,%cr3 movl pagedir_nosave, %ebx xorl %eax, %eax xorl %edx, %edx .p2align 4,,7copy_loop: movl 4(%ebx,%edx),%edi movl (%ebx,%edx),%esi movl $1024, %ecx rep movsl incl %eax addl $16, %edx cmpl nr_copy_pages,%eax jb copy_loop .p2align 4,,7 movl saved_context_esp, %esp movl saved_context_ebp, %ebp movl saved_context_ebx, %ebx movl saved_context_esi, %esi movl saved_context_edi, %edi pushl saved_context_eflags ; popfl call swsusp_restore ret
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?