leon3/shmsupp: Fix warnings & comment clean up

This commit is contained in:
Joel Sherrill
2013-01-08 12:37:05 -06:00
parent 4fd1ccaa3c
commit 4967f6b818
3 changed files with 36 additions and 65 deletions

View File

@@ -1,27 +1,11 @@
/* void Shm_Get_configuration( localnode, &shmcfg )
/**
* @file
*
* This routine initializes, if necessary, and returns a pointer
* to the Shared Memory Configuration Table for the XXX target.
*
* INPUT PARAMETERS:
* localnode - local node number
* shmcfg - address of pointer to SHM Config Table
*
* OUTPUT PARAMETERS:
* *shmcfg - pointer to SHM Config Table
*
XXX: FIX THE COMMENTS BELOW WHEN THE CPU IS KNOWN
* NOTES: The XYZ does not have an interprocessor interrupt.
*
* The following table illustrates the configuration limitations:
*
* BUS MAX
* MODE ENDIAN NODES
* ========= ====== =======
* POLLED BIG 2+
* INTERRUPT **** NOT SUPPORTED ****
*
* COPYRIGHT (c) 1989-1999.
* LEON3 Shared Memory Driver Support - Configuration
*/
/*
* COPYRIGHT (c) 1989-2012.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
@@ -35,7 +19,6 @@ XXX: FIX THE COMMENTS BELOW WHEN THE CPU IS KNOWN
/* multiprocessor communications interface (MPCI) table */
extern rtems_mpci_entry Shm_Get_packet(
rtems_packet_prefix **
);
@@ -56,19 +39,11 @@ extern rtems_mpci_entry Shm_Send_packet(
);
/* rtems_mpci_table MPCI_table = { */
/* 100000, /\* default timeout value in ticks *\/ */
/* MAX_PACKET_SIZE, /\* maximum packet size *\/ */
/* Shm_Initialization, /\* initialization procedure *\/ */
/* Shm_Get_packet, /\* get packet procedure *\/ */
/* Shm_Return_packet, /\* return packet procedure *\/ */
/* Shm_Send_packet, /\* packet send procedure *\/ */
/* Shm_Receive_packet /\* packet receive procedure *\/ */
/* }; */
/*
* configured if currently polling of interrupt driven
* configured if currently polling or interrupt driven
*
* NOTE: Code in mpisr.c is commented out. Fix when interrupt mode
* is added.
*/
#define INTERRUPT 0 /* XXX: */
@@ -95,7 +70,6 @@ void Shm_Get_configuration(
shm_config_table **shmcfg
)
{
extern rtems_configuration_table Configuration;
int i;
unsigned int tmp;

View File

@@ -1,12 +1,17 @@
/* Shared Memory Lock Routines
/**
* @file
*
* LEON3 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-1999.
*/
/*
* COPYRIGHT (c) 1989-2012.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
@@ -20,11 +25,8 @@
/*
* Shm_Initialize_lock
*
* Initialize the lock for the specified locked queue.
*/
void Shm_Initialize_lock(
Shm_Locked_queue_Control *lq_cb
)
@@ -32,12 +34,12 @@ void Shm_Initialize_lock(
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.
*/
extern unsigned int LEON3_Atomic_Swap(uint32_t value, uint32_t *address);
__asm__ (
".text\n"
@@ -63,16 +65,9 @@ void Shm_Lock(
Shm_isrstat = isr_level;
while ( lock_value ) {
lock_value = LEON3_Atomic_Swap(lock_value, lockptr);
/* __asm__ volatile( "" */
/* : "=r" (lockptr), "=r" (lock_value) */
/* : "0" (lockptr), "1" (lock_value) */
/* ); */
/*
* If not available, then may want to delay to reduce load on lock.
*/
/* if ( lock_value ) */
/* rtems_bsp_delay( 10 ); /\* approximately 10 microseconds *\/ */
}
}

View File

@@ -1,6 +1,11 @@
/* Shm_isr_nobsp()
/**
* @file
*
* COPYRIGHT (c) 1989-1999.
* LEON3 Shared Memory Driver Interrupt Support
*/
/*
* COPYRIGHT (c) 1989-2012.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
@@ -12,7 +17,7 @@
#include <bsp.h>
#include <shm_driver.h>
rtems_isr Shm_isr_nobsp( void )
void Shm_isr(void)
{
/*
* If this routine has to do anything other than the mpisr.c
@@ -22,25 +27,22 @@ rtems_isr Shm_isr_nobsp( void )
* must be cleared.
*
* If the generic mpisr.c satisifies your requirements, then
* remove this routine from your target's shmsupp/mpisb.c file.
* remove this routine from your target's shmsupp/mpisr.c file.
* Then simply install the generic Shm_isr in the Shm_setvec
* routine below.
*/
}
/* Shm_setvec
*
/*
* This driver routine sets the SHM interrupt vector to point to the
* driver's SHM interrupt service routine.
*
* Input parameters: NONE
*
* Output parameters: NONE
*/
void Shm_setvec( void )
{
/*
* Interrupt driven mode is not currently supported.
* This is thought to be the interrupt to use.
*/
LEON_Unmask_interrupt(LEON3_MP_IRQ);
set_vector(Shm_isr, LEON_TRAP_TYPE(LEON3_MP_IRQ), 1);
set_vector((rtems_isr_entry) Shm_isr, LEON_TRAP_TYPE(LEON3_MP_IRQ), 1);
}