semaphore.s

来自「LINUX 2.6.17.4的源码」· S 代码 · 共 68 行

S
68
字号
/* *  linux/arch/m68k/lib/semaphore.S * *  Copyright (C) 1996  Linus Torvalds * *  m68k version by Andreas Schwab * *  MAR/1999 -- modified to support ColdFire (gerg@snapgear.com) */#include <linux/linkage.h>#include <linux/config.h>#include <asm/semaphore.h>/* * "down_failed" is called with the eventual return address * in %a0, and the address of the semaphore in %a1. We need * to increment the number of waiters on the semaphore, * call "__down()", and then eventually return to try again. */ENTRY(__down_failed)#ifdef CONFIG_COLDFIRE	subl #12,%sp	moveml %a0/%d0/%d1,(%sp)#else	moveml %a0/%d0/%d1,-(%sp)#endif	movel %a1,-(%sp)	jbsr __down	movel (%sp)+,%a1	movel (%sp)+,%d0	movel (%sp)+,%d1	rtsENTRY(__down_failed_interruptible)	movel %a0,-(%sp)	movel %d1,-(%sp)	movel %a1,-(%sp)	jbsr __down_interruptible	movel (%sp)+,%a1	movel (%sp)+,%d1	rtsENTRY(__up_wakeup)#ifdef CONFIG_COLDFIRE	subl #12,%sp	moveml %a0/%d0/%d1,(%sp)#else	moveml %a0/%d0/%d1,-(%sp)#endif	movel %a1,-(%sp)	jbsr __up	movel (%sp)+,%a1	movel (%sp)+,%d0	movel (%sp)+,%d1	rtsENTRY(__down_failed_trylock)	movel %a0,-(%sp)	movel %d1,-(%sp)	movel %a1,-(%sp)	jbsr __down_trylock	movel (%sp)+,%a1	movel (%sp)+,%d1	movel (%sp)+,%a0	rts

⌨️ 快捷键说明

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