semaphore.s

来自「基于组件方式开发操作系统的OSKIT源代码」· S 代码 · 共 34 行

S
34
字号
/* *  linux/arch/i386/lib/semaphore.S * *  Copyright (C) 1996  Linus Torvalds */#include <linux/linkage.h>/* * The semaphore operations have a special calling sequence that * allow us to do a simpler in-line version of them. These routines * need to convert that sequence back into the C sequence when * there is contention on the semaphore. */ENTRY(__down_failed)	pushl %eax	/* save %eax */	pushl %edx	/* save %edx */	pushl %ecx	/* save %ecx (and argument) */	call SYMBOL_NAME(__down)	popl %ecx	/* restore %ecx (count on __down not changing it) */	popl %edx	/* restore %edx */	popl %eax	/* restore %eax */	retENTRY(__up_wakeup)	pushl %eax	/* save %eax */	pushl %edx	/* save %edx */	pushl %ecx	/* save %ecx (and argument) */	call SYMBOL_NAME(__up)	popl %ecx	/* restore %ecx (count on __up not changing it) */	popl %edx	/* restore %edx */	popl %eax	/* restore %eax */	ret

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?