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