RTEMS 6.1-rc4
Loading...
Searching...
No Matches
Data Structures | Macros | Typedefs | Enumerations | Functions
intercom.h File Reference

Inter-Processor Communication API. More...

#include <rtems.h>
#include <rtems/chain.h>

Go to the source code of this file.

Data Structures

struct  intercom_packet
 

Macros

#define INTERCOM_CORE_COUNT   2
 
#define INTERCOM_SERVICE_COUNT   8
 

Typedefs

typedef struct intercom_packet intercom_packet
 
typedef void(* intercom_service) (intercom_packet *packet, void *arg)
 

Enumerations

enum  intercom_type {
  INTERCOM_TYPE_MPCI , INTERCOM_TYPE_UART_0 , INTERCOM_TYPE_UART_1 , INTERCOM_TYPE_NETWORK ,
  INTERCOM_TYPE_CUSTOM_0 , INTERCOM_TYPE_CUSTOM_1 , INTERCOM_TYPE_CUSTOM_2 , INTERCOM_TYPE_CUSTOM_3 ,
  INTERCOM_TYPE_CUSTOM_4
}
 
enum  intercom_size { INTERCOM_SIZE_64 = 0 , INTERCOM_SIZE_512 , INTERCOM_SIZE_2K , INTERCOM_SIZE_4K }
 

Functions

uint32_t qoriq_spin_lock (uint32_t *lock)
 
void qoriq_spin_unlock (uint32_t *lock, uint32_t msr)
 
void qoriq_intercom_init (void)
 
void qoriq_intercom_start (void)
 
void qoriq_intercom_service_install (intercom_type type, intercom_service service, void *arg)
 
void qoriq_intercom_service_remove (intercom_type type)
 
intercom_packetqoriq_intercom_allocate_packet (intercom_type type, intercom_size size)
 
void qoriq_intercom_send_packets (int destination_core, intercom_packet *first, intercom_packet *last)
 
void qoriq_intercom_broadcast_packets (intercom_packet *first, intercom_packet *last)
 
void qoriq_intercom_send (int destination_core, intercom_type type, intercom_size size, const void *buf, size_t n)
 
void qoriq_intercom_free_packet (intercom_packet *packet)
 
intercom_packetqoriq_intercom_clone_packet (const intercom_packet *packet)
 

Detailed Description

Inter-Processor Communication API.