summaryrefslogtreecommitdiff
path: root/drivers/staging/nmf-cm/cm/engine/executive_engine_mgt/src/executive_engine_mgt.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/staging/nmf-cm/cm/engine/executive_engine_mgt/src/executive_engine_mgt.c')
-rw-r--r--drivers/staging/nmf-cm/cm/engine/executive_engine_mgt/src/executive_engine_mgt.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/staging/nmf-cm/cm/engine/executive_engine_mgt/src/executive_engine_mgt.c b/drivers/staging/nmf-cm/cm/engine/executive_engine_mgt/src/executive_engine_mgt.c
index f2c833ff7dc..4df3d7ee0f5 100644
--- a/drivers/staging/nmf-cm/cm/engine/executive_engine_mgt/src/executive_engine_mgt.c
+++ b/drivers/staging/nmf-cm/cm/engine/executive_engine_mgt/src/executive_engine_mgt.c
@@ -21,6 +21,8 @@
#include <cm/engine/power_mgt/inc/power.h>
#include <cm/engine/perfmeter/inc/mpcload.h>
+#include <cm/engine/trace/inc/xtitrace.h>
+
#include <share/communication/inc/nmf_service.h>
t_ee_state eeState[NB_CORE_IDS];
@@ -130,6 +132,16 @@ PUBLIC t_cm_error cm_EEM_Init(
return error;
}
+ if((error = cm_SRV_allocateTraceBufferMemory(coreId, cm_DSP_GetState(coreId)->domainEE)) != CM_OK)
+ {
+ cm_PFM_deallocatePerfmeterDataMemory(coreId);
+ cm_EEM_freePanicArea(coreId);
+ cm_delayedDestroyComponent(eeState[coreId].instance);
+ eeState[coreId].instance = (t_component_instance *)0;
+ cm_DSP_Shutdown(coreId);
+ return error;
+ }
+
/* set initial stack value */
cm_writeAttribute(eeState[coreId].instance, "rtos/scheduler/topOfStack", cm_DSP_getStackAddr(coreId));
@@ -179,6 +191,7 @@ PUBLIC void cm_EEM_Close(t_nmf_core_id coreId)
cm_DSP_setStackSize(coreId, 0);
cm_delayedDestroyComponent(eeState[coreId].instance);
eeState[coreId].instance = (t_component_instance *)0;
+ cm_SRV_deallocateTraceBufferMemory(coreId);
cm_PFM_deallocatePerfmeterDataMemory(coreId);
cm_EEM_freePanicArea(coreId);
cm_DSP_Shutdown(coreId);