int qsc_run_get_version(char *appname, uint32_t iterations) { struct qsc_send_cmd send_cmd; struct qsc_send_cmd_rsp msgrsp={0}; /* response data sent from QSEE */ uint32_t i = 0, ret = 0, err = -1; dprintf(CRITICAL, "%s:Get_version\n", __func__); dprintf(CRITICAL, "(This may take a few minutes please wait....)\n"); /* Start the application */ for (i = 0; i < iterations; i++) { dprintf(CRITICAL, "iteration %d\n", i); ret = qseecom_start_app(appname); if (ret <= 0) { dprintf(CRITICAL, "Start app: fail: ret:%d\n", ret); err = -1; goto err_ret; } dprintf(CRITICAL, "apphandle %u\n", ret); ret = qseecom_start_app(appname); if (ret <= 0) { dprintf(CRITICAL, "Start app: fail: ret:%d\n", ret); err = -1; goto err_ret_shutdown; } dprintf(CRITICAL, "apphandle %u\n", ret); send_cmd.cmd_id = CLIENT_CMD0_GET_VERSION; err = qseecom_send_command(ret, &send_cmd, sizeof(struct qsc_send_cmd), &msgrsp, sizeof(struct qsc_send_cmd_rsp)); if (err) { dprintf(CRITICAL, "Send app: fail\n"); goto err_ret_shutdown; } dprintf(ALWAYS, "The version of %s is: %u\n", appname, msgrsp.data); /* Shutdown the application */ dprintf(ALWAYS, "Shutting down %s\n", appname); err = qseecom_shutdown_app(ret); if (err) { dprintf(CRITICAL, "Failed to shutdown app: %d\n",err); goto err_ret; } dprintf(ALWAYS, "Shutting down %s\n", appname); err = qseecom_shutdown_app(ret); if (err) { dprintf(CRITICAL, "Failed to shutdown app: %d\n",err); goto err_ret; } } err_ret_shutdown: if (err) { if (qseecom_shutdown_app(ret)) dprintf(CRITICAL, "Failed to shutdown app: %d\n",err); } err_ret: if (err) dprintf(CRITICAL, "Test %u failed with error %d, shutting down %s\n", CLIENT_CMD0_GET_VERSION, err, appname); else dprintf(CRITICAL, "Test %u passed for iterations %u executing %s\n", CLIENT_CMD0_GET_VERSION, iterations, appname); return err; }
int qsc_run_start_stop_app_basic_test(char *appname, uint32_t iterations) { uint32_t i = 0; int ret = 0; /* return value */ int err = 0; /* return value */ struct qsc_send_cmd send_cmd = {0}; struct qsc_send_cmd_rsp msgrsp={0}; /* response data sent from QSEE */ dprintf(CRITICAL, "%s:Basic_start_stop_test\n", __func__); dprintf(CRITICAL, "(This may take a few minutes please wait....)\n"); /* Start the application */ for (i = 0; i < iterations; i++) { dprintf(CRITICAL, "iteration %d\n", i); ret = qseecom_start_app(appname); if (ret <= 0) { dprintf(CRITICAL, "Start app: fail: ret:%d\n", ret); err = -1; goto err_ret; } /* Send data using send command to QSEE application */ send_cmd.cmd_id = CLIENT_CMD1_BASIC_DATA; send_cmd.start_pkt = 0; send_cmd.end_pkt = 0; send_cmd.test_buf_size = 0; send_cmd.data = 100; err = qseecom_send_command(ret, &send_cmd, sizeof(struct qsc_send_cmd), &msgrsp, sizeof(struct qsc_send_cmd_rsp)); if (err) { dprintf(CRITICAL, "Send app: fail\n"); goto err_ret_shutdown; } if (((msgrsp.data)/100) != 10) { dprintf(CRITICAL, "App Comm Error:%u\n", msgrsp.data); err = -1; goto err_ret_shutdown; } dprintf(CRITICAL, "msg.rsp:%u\n", msgrsp.data); /* Shutdown the application */ err = qseecom_shutdown_app(ret); if (err) { dprintf(CRITICAL, "Failed to shutdown app: %d\n",err); goto err_ret; } } err_ret_shutdown: if (err) { if (qseecom_shutdown_app(ret)) dprintf(CRITICAL, "Failed to shutdown app: %d\n",err); } err_ret: if (err) dprintf(CRITICAL, "Test %u failed with error %d, shutting down %s\n", CLIENT_CMD0_GET_VERSION, err, appname); else dprintf(CRITICAL, "Test %u passed for iterations %u executing %s\n", CLIENT_CMD0_GET_VERSION, iterations, appname); return err; }
void lkmauth_restart(void) { struct tts_qseecom_handle *qhandle = NULL; qseecom_start_app(&qhandle, "lkmauth", 1024); qseecom_shutdown_app(&qhandle); qseecom_start_app(&qhandle, "lkmauth", 1024); }
static int __devexit ssm_remove(struct platform_device *pdev) { if (!ssm_drv) return 0; /* */ ssm_drv->ready = false; smd_close(ssm_drv->ch); flush_work_sync(&ssm_drv->ipc_work); /* */ dev_dbg(&pdev->dev, "Shutting down TZapp\n"); qseecom_shutdown_app(&ssm_drv->qseecom_handle); return 0; }
int qsc_run_start_stop_app_listener_test(char *appname, uint32_t iterations) { uint32_t i = 0; int ret = 0; /* return value */ int err = 0; /* return value */ struct qsc_send_cmd send_cmd; struct qsc_send_cmd_rsp msgrsp={0}; /* response data sent from QSEE */ dprintf(CRITICAL, "%s:qsc_run_start_stop_app_listener_test\n", __func__); dprintf(CRITICAL, "(This may take a few minutes please wait....)\n"); ret = qseecom_register_listener(&listeners[0]); if (ret < 0) { dprintf(CRITICAL, "Reg Listener: fail: ret:%d\n", ret); err = -1; goto err_ret; } /* Start the application */ for (i = 0; i < iterations; i++) { dprintf(CRITICAL, "iteration %d\n", i); ret = qseecom_start_app(appname); if (ret <= 0) { dprintf(CRITICAL, "Start app: fail: ret:%d\n", ret); err = -1; goto err_dereg; } /* Send data using send command to QSEE application */ send_cmd.cmd_id = CLIENT_APPSBL_QSEECOM_RUN_LISTENER_FRAMEWORK_TEST_1; send_cmd.start_pkt = 0; send_cmd.end_pkt = 0; send_cmd.test_buf_size = 0; send_cmd.data = 100; err = qseecom_send_command(ret, &send_cmd, sizeof(struct qsc_send_cmd), &msgrsp, sizeof(struct qsc_send_cmd_rsp)); if (err) { dprintf(CRITICAL, "Send app: fail\n"); goto err_ret_shutdown; } if (((msgrsp.data)/100) != 10) { dprintf(CRITICAL, "App Comm Error:%u Status:%d\n", msgrsp.data, msgrsp.status); err = -1; goto err_ret_shutdown; } /* Shutdown the application */ err = qseecom_shutdown_app(ret); if (err) { dprintf(CRITICAL, "Failed to shutdown app: %d\n",err); goto err_dereg; } } err_ret_shutdown: if (err) { if (qseecom_shutdown_app(ret)) dprintf(CRITICAL, "Failed to shutdown app: %d\n",err); } err_dereg: ret = qseecom_deregister_listener(listeners[0].id); if (ret < 0) { dprintf(CRITICAL, "DeReg Listener: fail: ret:%d\n", ret); err = -1; } err_ret: if (err) dprintf(CRITICAL, "Test %u failed with error %d, shutting down %s\n", CLIENT_CMD0_GET_VERSION, err, appname); else dprintf(CRITICAL, "Test %u passed for iterations %u executing %s\n", CLIENT_CMD0_GET_VERSION, iterations, appname); return err; }