#include "xsystem_xs1_locks.h" xlock_t xsystem_lock_alloc ( void ) { unsigned int x; asm("getr %0, 5" : "=r"(x) ); return x;} void xsystem_lock_acquire( xlock_t lock ) { asm("in %0, res[%0]" :: "r"(lock),"r"(lock)); } void xsystem_lock_release( xlock_t lock ) { asm("out res[%0], %0" :: "r"(lock),"r"(lock));} void xsystem_lock_free ( xlock_t lock ) { asm("freer res[%0]" :: "r"(lock),"r"(lock)); }