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 + -
显示快捷键?