23 #ifndef LIBBSP_POWERPC_QORIQ_INTERCOM_H 24 #define LIBBSP_POWERPC_QORIQ_INTERCOM_H 43 uint32_t qoriq_spin_lock(uint32_t *lock);
45 void qoriq_spin_unlock(uint32_t *lock, uint32_t msr);
47 #define INTERCOM_CORE_COUNT 2 49 #define INTERCOM_SERVICE_COUNT 8 55 INTERCOM_TYPE_NETWORK,
56 INTERCOM_TYPE_CUSTOM_0,
57 INTERCOM_TYPE_CUSTOM_1,
58 INTERCOM_TYPE_CUSTOM_2,
59 INTERCOM_TYPE_CUSTOM_3,
60 INTERCOM_TYPE_CUSTOM_4
75 intercom_type type_index;
76 intercom_size size_index;
79 uint32_t cache_line_alignment [2];
85 void qoriq_intercom_init(
void);
87 void qoriq_intercom_start(
void);
89 void qoriq_intercom_service_install(intercom_type type, intercom_service service,
void *arg);
91 void qoriq_intercom_service_remove(intercom_type type);
93 intercom_packet *qoriq_intercom_allocate_packet(intercom_type type, intercom_size size);
97 static inline void qoriq_intercom_send_packet(
int destination_core,
intercom_packet *packet)
99 qoriq_intercom_send_packets(destination_core, packet, packet);
104 static inline void qoriq_intercom_broadcast_packet(
intercom_packet *packet)
106 qoriq_intercom_broadcast_packets(packet, packet);
109 void qoriq_intercom_send(
int destination_core, intercom_type type, intercom_size size,
const void *buf,
size_t n);
115 #ifdef RTEMS_MULTIPROCESSING 116 extern rtems_mpci_table qoriq_intercom_mpci;
Definition: intercom.h:70