2 * linux/arch/m68k/lib/semaphore.S
4 * Copyright (C) 1996 Linus Torvalds
6 * m68k version by Andreas Schwab
9 #include <linux/linkage.h>
10 #include <asm/semaphore.h>
13 * The semaphore operations have a special calling sequence that
14 * allow us to do a simpler in-line version of them. These routines
15 * need to convert that sequence back into the C sequence when
16 * there is contention on the semaphore.
19 moveml %a0/%d0/%d1,-(%sp)
23 moveml (%sp)+,%a0/%d0/%d1
26 ENTRY(__down_failed_interruptible)
30 jbsr __down_interruptible
36 ENTRY(__down_failed_trylock)
47 moveml %a0/%d0/%d1,-(%sp)
51 moveml (%sp)+,%a0/%d0/%d1