Files
lib_xua/module_usb_audio/locks/lock.S
Richard Osborne f19653b759 Remove pointless .extern directives.
These have no effect and are ignored by the assembler.
2013-12-09 18:09:18 +00:00

52 lines
1.1 KiB
ArmAsm

/** lock.S
* @brief Functions for using hardware locks
* @author Ross Owen, XMOS Limited
*/
#include <xs1_user.h>
/////////////////////////////////////////////////////////////////////////
// void GetLockResource()
.globl GetLockResource.nstackwords
.linkset GetLockResource.nstackwords, 0
.globl GetLockResource
.text
GetLockResource:
getr r0, XS1_RES_TYPE_LOCK
retsp 0
/////////////////////////////////////////////////////////////////////////
// void ClaimLock(lock l)
.globl ClaimLock.nstackwords
.linkset ClaimLock.nstackwords, 0
.globl ClaimLock
.text
ClaimLock:
in r0, res[r0]
retsp 0
/////////////////////////////////////////////////////////////////////////
// void FreeLock(lock l)
.globl FreeLock.nstackwords
.linkset FreeLock.nstackwords, 0
.globl FreeLock
.text
FreeLock:
out res[r0], r0
retsp 0
/////////////////////////////////////////////////////////////////////////
// void FreeLockResource(lock l)
.globl FreeLockResource.nstackwords
.linkset FreeLockResource.nstackwords, 0
.globl FreeLockResource
.text
FreeLockResource:
freer res[r0]
retsp 0