![]() |
RTEMS
5.1
|
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) |
Inter-Processor Communication implementation.