VSF Documented
spinlock.h File Reference

Go to the source code of this file.

Macros

#define SPIN_LOCK_INIT()
 
#define spin_lock_init(lock)
 
#define __spin_lock(lock)
 
#define __spin_unlock(lock)
 
#define spin_lock(lock)
 
#define spin_unlock(lock)
 
#define spin_trylock(lock)
 
#define spin_lock_irq(lock)
 
#define spin_unlock_irq(lock)
 
#define spin_lock_irqsave(lock, flags)
 
#define spin_unlock_irqrestore(lock, flags)
 

Typedefs

typedef int spinlock_t
 

Macro Definition Documentation

◆ SPIN_LOCK_INIT

#define SPIN_LOCK_INIT ( )
Value:
(0)

◆ spin_lock_init

#define spin_lock_init ( lock)
Value:
do { *lock = 0; } while(0)

◆ __spin_lock

#define __spin_lock ( lock)
Value:
do { *lock = 1; } while (0)

◆ __spin_unlock

#define __spin_unlock ( lock)
Value:
do { *lock = 0; } while (0)

◆ spin_lock

#define spin_lock ( lock)
Value:
do { vsf_protect_t orig = vsf_protect_int(); __spin_lock(lock); vsf_unprotect_int(orig); } while (0)
#define __spin_lock(lock)
Definition spinlock.h:30
uintalu_t vsf_protect_t
Definition vsf_arch_abstraction.h:60
#define vsf_protect_int
Definition vsf_arch_abstraction.h:376
#define vsf_unprotect_int
Definition vsf_arch_abstraction.h:377

◆ spin_unlock

#define spin_unlock ( lock)
Value:
do { vsf_protect_t orig = vsf_protect_int(); __spin_unlock(lock); vsf_unprotect_int(orig); } while (0)
#define __spin_unlock(lock)
Definition spinlock.h:31

◆ spin_trylock

#define spin_trylock ( lock)
Value:
(spin_lock(lock), 1)
#define spin_lock(lock)
Definition spinlock.h:32

◆ spin_lock_irq

#define spin_lock_irq ( lock)
Value:
do { vsf_disable_interrupt(); __spin_lock(lock); } while(0)
vsf_gint_state_t vsf_disable_interrupt(void)
Definition arm9_generic.c:176

◆ spin_unlock_irq

#define spin_unlock_irq ( lock)
Value:
do { __spin_unlock(lock); vsf_enable_interrupt(); } while(0)
vsf_gint_state_t vsf_enable_interrupt(void)
Definition arm9_generic.c:181

◆ spin_lock_irqsave

#define spin_lock_irqsave ( lock,
flags )
Value:
do { flags = vsf_protect_int(); __spin_lock(lock); } while(0)

◆ spin_unlock_irqrestore

#define spin_unlock_irqrestore ( lock,
flags )
Value:
do { __spin_unlock(lock); vsf_unprotect_int(flags); } while(0)

Typedef Documentation

◆ spinlock_t

typedef int spinlock_t
Generated from commit: vsfteam/vsf@ceb53fd