Files
2017-10-26 19:57:24 +02:00

54 lines
1.2 KiB
C
Executable File

#ifndef MOC_INTERNAL_CORE_SPU_H_
#define MOC_INTERNAL_CORE_SPU_H_
#include "../imoc_core.h"
/**
* \addtogroup internal_core
**/
//@{
/**
* @name SPU only
**/
//@{
/**
* Node-handle structure.
*
* \note SPU only
*
* Information each node knowns about himself and the world.
**/
typedef struct moc_node_handle_spu_struct
{
uint8_t rank; /**< rank of node */
uint8_t comm_size; /**< number of overall processes */
uint8_t queue_size; /**< Size of a message-queue */
uint64_t ls_base; /**< Effective address of own local-store */
volatile moc_message_envelope_t* message_queue_base; /**< base-address of own message-queues */
volatile moc_message_status_t* status_array_base; /**< base-address of own message-status-array */
uint64_t buffer_base; /**< base-address of own buffer */
uint32_t buffer_size; /**< size of own buffer */
volatile moc_process_t* moc_process_list; /**< list of all other MOC-processes
(index is rank of process) */
} moc_node_handle_spu_t; /**< typedef of \ref moc_node_handle_spu_struct */
/**
* Information each node knowns about himself and the world.
*
* \note SPU only
**/
moc_node_handle_spu_t node_handle;
//@}
//@}
#endif /*MOC_INTERNAL_CORE_SPU_H_*/