memset(tmpSharedMem, 0x0, sizeof(tmpSharedMem));
+ // Set returnOrigin
+ if (returnOrigin) {
+ *returnOrigin = TEEC_ORIGIN_API;
+ }
+
// Check if Session is valid
if (!session) {
LOGE(TEEC_LIB, "NULL session");
*/
memset(&ic, 0x00, sizeof(InvokeCommandData));
memset(&op, 0x00, sizeof(OperationData));
-
- // Set returnOrigin
- if (returnOrigin) {
- *returnOrigin = TEEC_ORIGIN_API;
- ic.returnOrigin = *returnOrigin;
- } else ic.returnOrigin = 0x00;
+ ic.returnOrigin = TEEC_ORIGIN_API;
if (operation) {
result = preProcessOperation(session, operation, &op, tmpSharedMem);
return result;
}
+ LOGE(TEEC_LIB, "sendCommand to Simulator Daemon succes, origin=%d", ic.returnOrigin);
+
if (returnOrigin) *returnOrigin = ic.returnOrigin;
result = ic.returnValue;
bool sharedResult = true;
TOGGLE_PROPERTY_ACCESS;
+ data.returnOrigin = TEE_ORIGIN_TEE;
sharedResult = SharedMemoryMap::allocateSharedMemory(data.op);
if (sharedResult) {
+ data.returnOrigin = TEE_ORIGIN_TRUSTED_APP;
data.returnValue = TA_InvokeCommandEntryPoint(sessionContext,
data.commandID, data.op.paramTypes, data.op.params);
- LOGD(TEE_STUB, "TA_InvokeCommandEntryPoint done");
+ LOGD(TEE_STUB, "TA_InvokeCommandEntryPoint done, data.origin = %d", data.returnOrigin);
} else {
- data.returnOrigin = TEE_ORIGIN_TRUSTED_APP;
data.returnValue = TEE_ERROR_OUT_OF_MEMORY;
}
sharedResult = SharedMemoryMap::deleteSharedMemory(data.op);
if (!sharedResult) {
- data.returnOrigin = TEE_ORIGIN_TRUSTED_APP;
- data.returnValue = TEE_ERROR_OUT_OF_MEMORY;
+ LOGE(TEE_STUB, "deleteSharedMemory failed");
}
TOGGLE_PROPERTY_ACCESS;
} //case
} //switch
} else {
- LOGE(SIM_DAEMON, "Error in reading from CA");
- LOGE(SIM_DAEMON, "Response returned with error code %d", error.value());
- LOGE(SIM_DAEMON, "Response returned with error code %s",
- error.category().name());
+ LOGE(SIM_DAEMON, "Error in reading from CA %s(%d)", error.category().name(), error.value());
// Call the TEEContext object to cleanup
FinalizeContextData data;
data.contextID = 0;