summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/i960/cvme961/shmsupp/lock.c
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libbsp/i960/cvme961/shmsupp/lock.c')
-rw-r--r--c/src/lib/libbsp/i960/cvme961/shmsupp/lock.c77
1 files changed, 0 insertions, 77 deletions
diff --git a/c/src/lib/libbsp/i960/cvme961/shmsupp/lock.c b/c/src/lib/libbsp/i960/cvme961/shmsupp/lock.c
deleted file mode 100644
index de62ec670d..0000000000
--- a/c/src/lib/libbsp/i960/cvme961/shmsupp/lock.c
+++ /dev/null
@@ -1,77 +0,0 @@
-/* Shared Memory Lock Routines
- *
- * This shared memory locked queue support routine need to be
- * able to lock the specified locked queue. Interrupts are
- * disabled while the queue is locked to prevent preemption
- * and deadlock when two tasks poll for the same lock.
- * previous level.
- *
- * COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994.
- * On-Line Applications Research Corporation (OAR).
- * All rights assigned to U.S. Government, 1994.
- *
- * This material may be reproduced by or for the U.S. Government pursuant
- * to the copyright license under the clause at DFARS 252.227-7013. This
- * notice must appear in all copies of this file and its derivatives.
- *
- * $Id$
- */
-
-#include <rtems.h>
-#include "cpu.h"
-#include "bsp.h"
-#include "shm.h"
-
-/*
- * Shm_Initialize_lock
- *
- * Initialize the lock for the specified locked queue.
- */
-
-void Shm_Initialize_lock(
- Shm_Locked_queue_Control *lq_cb
-)
-{
- lq_cb->lock = LQ_UNLOCKED;
-}
-
-/* void _Shm_Lock( &lq_cb )
- *
- * This shared memory locked queue support routine locks the
- * specified locked queue. It disables interrupts to prevent
- * a deadlock condition.
- */
-
-void Shm_Lock(
- Shm_Locked_queue_Control *lq_cb
-)
-{
- rtems_unsigned32 isr_level, oldlock;
-
- rtems_interrupt_disable( isr_level );
- Shm_isrstat = isr_level;
- while ( 1 ) {
- atomic_modify( SHM_LOCK_VALUE, &lq_cb->lock, oldlock );
- if ( !(oldlock & SHM_LOCK_VALUE) )
- return;
- delay( 28 ); /* delay 28 microseconds */
- }
-}
-
-/*
- * Shm_Unlock
- *
- * Unlock the lock for the specified locked queue.
- */
-
-void Shm_Unlock(
- Shm_Locked_queue_Control *lq_cb
-)
-{
- rtems_unsigned32 isr_level;
-
- lq_cb->lock = SHM_UNLOCK_VALUE;
- isr_level = Shm_isrstat;
- rtems_interrupt_enable( isr_level );
-}
-