index e2529d1c34cd94961b89348009680e32a1f26923..894551596214faf20374ddb148309f4654df68b8 100644 (file)
#include <ti/sysbios/knl/Swi.h>
#include <ti/sysbios/knl/Semaphore.h>
#include <ti/sysbios/heaps/HeapBuf.h>
-#include <ti/sysbios/gates/GateAll.h>
+#include <ti/sysbios/gates/GateHwi.h>
#include <ti/sdo/utils/List.h>
#include <ti/ipc/MultiProc.h>
/* Module_State */
typedef struct RPMessage_Module {
/* Instance gate: */
- GateAll_Handle gateH;
+ GateHwi_Handle gateH;
/* Array of messageQObjects in the system: */
struct RPMessage_Object *msgqObjects[MAXMESSAGEQOBJECTS];
/* Heap from which to allocate free messages for copying: */
#define FXNN "RPMessage_init"
Void RPMessage_init(UInt16 remoteProcId)
{
- GateAll_Params gatePrms;
+ GateHwi_Params gatePrms;
HeapBuf_Params prms;
int i;
Registry_Result result;
(IArg)remoteProcId);
/* Gate to protect module object and lists: */
- GateAll_Params_init(&gatePrms);
- module.gateH = GateAll_create(&gatePrms, NULL);
+ GateHwi_Params_init(&gatePrms);
+ module.gateH = GateHwi_create(&gatePrms, NULL);
/* Initialize Module State: */
for (i = 0; i < MAXMESSAGEQOBJECTS; i++) {
Swi_delete(&(transport.swiHandle));
- GateAll_delete(&module.gateH);
+ GateHwi_delete(&module.gateH);
exit:
Log_print0(Diags_EXIT, "<-- "FXNN);
Assert_isTrue((curInit > 0) , NULL);
- key = GateAll_enter(module.gateH);
+ key = GateHwi_enter(module.gateH);
if (reserved == RPMessage_ASSIGN_ANY) {
/* Search the array for a free slot above reserved: */
}
}
- GateAll_leave(module.gateH, key);
+ GateHwi_leave(module.gateH, key);
Log_print1(Diags_EXIT, "<-- "FXNN": 0x%x", (IArg)obj);
return (obj);
}
/* Null out our slot: */
- key = GateAll_enter(module.gateH);
+ key = GateHwi_enter(module.gateH);
module.msgqObjects[obj->queueId] = NULL;
- GateAll_leave(module.gateH, key);
+ GateHwi_leave(module.gateH, key);
Log_print1(Diags_LIFECYCLE, FXNN": endPt deleted: %d",
(IArg)obj->queueId);
/* Put on a Message queue on this processor: */
/* Protect from RPMessage_delete */
- key = GateAll_enter(module.gateH);
+ key = GateHwi_enter(module.gateH);
obj = module.msgqObjects[dstEndpt];
- GateAll_leave(module.gateH, key);
+ GateHwi_leave(module.gateH, key);
if (obj == NULL) {
Log_print1(Diags_STATUS, FXNN": no object for endpoint: %d",
size = len + sizeof(Queue_elem);
/* HeapBuf_alloc() is non-blocking, so needs protection: */
- key = GateAll_enter(module.gateH);
+ key = GateHwi_enter(module.gateH);
payload = (Queue_elem *)HeapBuf_alloc(module.heap, size, 0, NULL);
- GateAll_leave(module.gateH, key);
+ GateHwi_leave(module.gateH, key);
if (payload != NULL) {
memcpy(payload->data, data, len);