RTEMS: bsps/powerpc/qoriq/mpci/intercom.c File Reference

| RTEMS 5.4-rc2

Loading...
Searching...
No Matches
Data Structures | Macros | Typedefs | Functions
intercom.c File Reference

Inter-Processor Communication implementation. More...

`#include <assert.h>`
`#include <string.h>`
`#include <rtems.h>`
`#include <libcpu/powerpc-utility.h>`
`#include <bspopts.h>`
`#include <bsp/irq.h>`
`#include <bsp/qoriq.h>`
`#include <bsp/intercom.h>`

## Data Structures
struct | consumer
struct | consumer_list
struct | free_list
struct | core_fifo
struct | control

## Macros
#define | INTERCOM_EVENT_IPI RTEMS_EVENT_13
#define | INTERCOM_EVENT_WAKE_UP RTEMS_EVENT_14
#define | PACKET_SIZE_COUNT 4
#define | ONE_CORE(core) (1U << (core))
#define | ALL_CORES ((1U << INTERCOM_CORE_COUNT) - 1U)
#define | OTHER_CORES(core) (ALL_CORES & ~ONE_CORE(core))
#define | IPI_INDEX 0

## Typedefs
typedef struct consumer | consumer

## Functions
void | qoriq_intercom_free_packet (intercom_packet *packet)
void | qoriq_intercom_init (void)
void | qoriq_intercom_start (void)
intercom_packet * | qoriq_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_service_install (intercom_type type, intercom_service service, void *arg)
void | qoriq_intercom_service_remove (intercom_type type)
intercom_packet * | qoriq_intercom_clone_packet (const intercom_packet *packet)

## Detailed Description

Inter-Processor Communication implementation.