mirror of https://github.com/ARMmbed/mbed-os.git
Update psa_get() to return psa_status_t
parent
3edcf455a6
commit
306a51f6c0
|
|
@ -38,7 +38,10 @@ void client_part_main(void *ptr)
|
|||
while (1) {
|
||||
signals = psa_wait(CLIENT_TESTS_PART1_WAIT_ANY_SID_MSK, PSA_BLOCK);
|
||||
if (signals & PART1_ROT_SRV1_MSK) {
|
||||
psa_get(PART1_ROT_SRV1_MSK, &msg);
|
||||
if (PSA_SUCCESS != psa_get(PART1_ROT_SRV1_MSK, &msg)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
switch (msg.type) {
|
||||
case PSA_IPC_CONNECT:
|
||||
case PSA_IPC_DISCONNECT:
|
||||
|
|
@ -50,6 +53,7 @@ void client_part_main(void *ptr)
|
|||
offset += psa_read(msg.handle, 1, (void *)(data + offset), msg.in_size[1]);
|
||||
psa_read(msg.handle, 2, (void *)(data + offset), msg.in_size[2]);
|
||||
}
|
||||
|
||||
if (msg.out_size[0] > 0) {
|
||||
uint8_t resp_size = data[0];
|
||||
uint8_t resp_offset = data[1];
|
||||
|
|
@ -57,13 +61,18 @@ void client_part_main(void *ptr)
|
|||
}
|
||||
break;
|
||||
}
|
||||
|
||||
default: {
|
||||
SPM_PANIC("Invalid msg type");
|
||||
}
|
||||
}
|
||||
|
||||
psa_reply(msg.handle, PSA_SUCCESS);
|
||||
} else if (signals & DROP_CONN_MSK) {
|
||||
psa_get(DROP_CONN_MSK, &msg);
|
||||
if (PSA_SUCCESS != psa_get(DROP_CONN_MSK, &msg)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
switch (msg.type) {
|
||||
case PSA_IPC_CONNECT:
|
||||
case PSA_IPC_DISCONNECT:
|
||||
|
|
@ -76,7 +85,10 @@ void client_part_main(void *ptr)
|
|||
SPM_PANIC("Invalid msg type");
|
||||
}
|
||||
} else if (signals & SECURE_CLIENTS_ONLY_MSK) {
|
||||
psa_get(SECURE_CLIENTS_ONLY_MSK, &msg);
|
||||
if (PSA_SUCCESS != psa_get(SECURE_CLIENTS_ONLY_MSK, &msg)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
switch (msg.type) {
|
||||
case PSA_IPC_CONNECT:
|
||||
case PSA_IPC_DISCONNECT:
|
||||
|
|
|
|||
|
|
@ -58,7 +58,9 @@ void server_part1_main(void *ptr)
|
|||
SPM_PANIC("returned from psa_wait without CONTROL_ROT_SRV bit on signals=(0x%08x)\n", signals);
|
||||
}
|
||||
|
||||
psa_get(CONTROL_MSK, &msg);
|
||||
if (PSA_SUCCESS != psa_get(CONTROL_MSK, &msg)) {
|
||||
SPM_PANIC("psa_get() failed\n");
|
||||
}
|
||||
switch (msg.type) {
|
||||
case PSA_IPC_CALL:
|
||||
if (msg.in_size[0] == 0) {
|
||||
|
|
|
|||
|
|
@ -46,7 +46,9 @@ void server_part2_main(void *ptr)
|
|||
}
|
||||
|
||||
if (signals & ROT_SRV_REVERSE_MSK) {
|
||||
psa_get(ROT_SRV_REVERSE_MSK, &msg);
|
||||
if (PSA_SUCCESS != psa_get(ROT_SRV_REVERSE_MSK, &msg)) {
|
||||
SPM_PANIC("psa_get() failed\n");
|
||||
}
|
||||
switch (msg.type) {
|
||||
case PSA_IPC_CALL: {
|
||||
if ((msg.in_size[0] + msg.in_size[1] + msg.in_size[2]) == 0) {
|
||||
|
|
@ -81,7 +83,9 @@ void server_part2_main(void *ptr)
|
|||
|
||||
psa_reply(msg.handle, PSA_SUCCESS);
|
||||
} else { // -- Doorbell test
|
||||
psa_get(ROT_SRV_DB_TST_MSK, &msg);
|
||||
if (PSA_SUCCESS != psa_get(ROT_SRV_DB_TST_MSK, &msg)) {
|
||||
SPM_PANIC("psa_get() failed\n");
|
||||
}
|
||||
switch (msg.type) {
|
||||
case PSA_IPC_CALL: {
|
||||
int32_t caller_part_id = msg.client_id;
|
||||
|
|
|
|||
|
|
@ -44,7 +44,10 @@ static psa_status_t process_connect_request(void)
|
|||
res = PSA_TEST_ERROR;
|
||||
}
|
||||
|
||||
psa_get(TEST_MSK, &msg);
|
||||
if (PSA_SUCCESS != psa_get(TEST_MSK, &msg)) {
|
||||
SPM_PANIC("psa_get() failed\n");
|
||||
}
|
||||
|
||||
if (msg.type != PSA_IPC_CONNECT) {
|
||||
res = ((res != PSA_SUCCESS) ? res : PSA_TEST_ERROR);
|
||||
}
|
||||
|
|
@ -67,7 +70,10 @@ static psa_status_t process_disconnect_request(void)
|
|||
res = PSA_TEST_ERROR;
|
||||
}
|
||||
|
||||
psa_get(TEST_MSK, &msg);
|
||||
if (PSA_SUCCESS != psa_get(TEST_MSK, &msg)) {
|
||||
SPM_PANIC("psa_get() failed\n");
|
||||
}
|
||||
|
||||
if (msg.type != PSA_IPC_DISCONNECT) {
|
||||
res = ((res != PSA_SUCCESS) ? res : PSA_TEST_ERROR);
|
||||
}
|
||||
|
|
@ -89,7 +95,10 @@ PSA_TEST_SERVER(identity_during_connect)
|
|||
test_status = PSA_TEST_ERROR;
|
||||
}
|
||||
|
||||
psa_get(TEST_MSK, &msg);
|
||||
if (PSA_SUCCESS != psa_get(TEST_MSK, &msg)) {
|
||||
SPM_PANIC("psa_get() failed\n");
|
||||
}
|
||||
|
||||
if (msg.type != PSA_IPC_CONNECT) {
|
||||
test_status = ((test_status != PSA_SUCCESS) ? test_status : PSA_TEST_ERROR);
|
||||
}
|
||||
|
|
@ -123,7 +132,10 @@ PSA_TEST_SERVER(identity_during_call)
|
|||
test_status = PSA_TEST_ERROR;
|
||||
}
|
||||
|
||||
psa_get(TEST_MSK, &msg);
|
||||
if (PSA_SUCCESS != psa_get(TEST_MSK, &msg)) {
|
||||
SPM_PANIC("psa_get() failed\n");
|
||||
}
|
||||
|
||||
if (msg.type != PSA_IPC_CALL) {
|
||||
test_status = ((test_status != PSA_SUCCESS) ? test_status : PSA_TEST_ERROR);
|
||||
}
|
||||
|
|
@ -164,7 +176,10 @@ PSA_TEST_SERVER(msg_size_assertion)
|
|||
test_status = PSA_TEST_ERROR;
|
||||
}
|
||||
|
||||
psa_get(TEST_MSK, &msg);
|
||||
if (PSA_SUCCESS != psa_get(TEST_MSK, &msg)) {
|
||||
SPM_PANIC("psa_get() failed\n");
|
||||
}
|
||||
|
||||
if (msg.type != PSA_IPC_CALL) {
|
||||
test_status = ((test_status != PSA_SUCCESS) ? test_status : PSA_TEST_ERROR);
|
||||
}
|
||||
|
|
@ -196,7 +211,10 @@ PSA_TEST_SERVER(reject_connection)
|
|||
res = PSA_TEST_ERROR;
|
||||
}
|
||||
|
||||
psa_get(TEST_MSK, &msg);
|
||||
if (PSA_SUCCESS != psa_get(TEST_MSK, &msg)) {
|
||||
SPM_PANIC("psa_get() failed\n");
|
||||
}
|
||||
|
||||
if (msg.type != PSA_IPC_CONNECT) {
|
||||
res = ((res != PSA_SUCCESS) ? res : PSA_TEST_ERROR);
|
||||
}
|
||||
|
|
@ -224,7 +242,10 @@ PSA_TEST_SERVER(read_at_outofboud_offset)
|
|||
test_status = PSA_TEST_ERROR;
|
||||
}
|
||||
|
||||
psa_get(TEST_MSK, &msg);
|
||||
if (PSA_SUCCESS != psa_get(TEST_MSK, &msg)) {
|
||||
SPM_PANIC("psa_get() failed\n");
|
||||
}
|
||||
|
||||
if (msg.type != PSA_IPC_CALL) {
|
||||
test_status = ((test_status != PSA_SUCCESS) ? test_status : PSA_TEST_ERROR);
|
||||
}
|
||||
|
|
@ -267,7 +288,10 @@ PSA_TEST_SERVER(msg_read_truncation)
|
|||
test_status = PSA_TEST_ERROR;
|
||||
}
|
||||
|
||||
psa_get(TEST_MSK, &msg);
|
||||
if (PSA_SUCCESS != psa_get(TEST_MSK, &msg)) {
|
||||
SPM_PANIC("psa_get() failed\n");
|
||||
}
|
||||
|
||||
if (msg.type != PSA_IPC_CALL) {
|
||||
test_status = ((test_status != PSA_SUCCESS) ? test_status : PSA_TEST_ERROR);
|
||||
}
|
||||
|
|
@ -313,7 +337,10 @@ PSA_TEST_SERVER(skip_zero)
|
|||
test_status = PSA_TEST_ERROR;
|
||||
}
|
||||
|
||||
psa_get(TEST_MSK, &msg);
|
||||
if (PSA_SUCCESS != psa_get(TEST_MSK, &msg)) {
|
||||
SPM_PANIC("psa_get() failed\n");
|
||||
}
|
||||
|
||||
if (msg.type != PSA_IPC_CALL) {
|
||||
test_status = ((test_status != PSA_SUCCESS) ? test_status : PSA_TEST_ERROR);
|
||||
}
|
||||
|
|
@ -360,7 +387,10 @@ PSA_TEST_SERVER(skip_some)
|
|||
test_status = PSA_TEST_ERROR;
|
||||
}
|
||||
|
||||
psa_get(TEST_MSK, &msg);
|
||||
if (PSA_SUCCESS != psa_get(TEST_MSK, &msg)) {
|
||||
SPM_PANIC("psa_get() failed\n");
|
||||
}
|
||||
|
||||
if (msg.type != PSA_IPC_CALL) {
|
||||
test_status = ((test_status != PSA_SUCCESS) ? test_status : PSA_TEST_ERROR);
|
||||
}
|
||||
|
|
@ -409,7 +439,10 @@ PSA_TEST_SERVER(skip_more_than_left)
|
|||
test_status = PSA_TEST_ERROR;
|
||||
}
|
||||
|
||||
psa_get(TEST_MSK, &msg);
|
||||
if (PSA_SUCCESS != psa_get(TEST_MSK, &msg)) {
|
||||
SPM_PANIC("psa_get() failed\n");
|
||||
}
|
||||
|
||||
if (msg.type != PSA_IPC_CALL) {
|
||||
test_status = ((test_status != PSA_SUCCESS) ? test_status : PSA_TEST_ERROR);
|
||||
}
|
||||
|
|
@ -449,7 +482,10 @@ PSA_TEST_SERVER(rhandle_factorial)
|
|||
SPM_PANIC("returned from psa_wait without TEST_MSK bit on\n");
|
||||
}
|
||||
|
||||
psa_get(TEST_MSK, &msg);
|
||||
if (PSA_SUCCESS != psa_get(TEST_MSK, &msg)) {
|
||||
SPM_PANIC("psa_get() failed\n");
|
||||
}
|
||||
|
||||
switch (msg.type) {
|
||||
case PSA_IPC_CONNECT:
|
||||
if (NULL != msg.rhandle) {
|
||||
|
|
@ -551,7 +587,10 @@ PSA_TEST_SERVER(cross_partition_call)
|
|||
test_status = PSA_TEST_ERROR;
|
||||
}
|
||||
|
||||
psa_get(TEST_MSK, &msg);
|
||||
if (PSA_SUCCESS != psa_get(TEST_MSK, &msg)) {
|
||||
SPM_PANIC("psa_get() failed\n");
|
||||
}
|
||||
|
||||
if ((msg.in_size[0] + msg.in_size[1] + msg.in_size[2]) == 0) {
|
||||
test_status = ((test_status != PSA_SUCCESS) ? test_status : PSA_TEST_ERROR);
|
||||
}
|
||||
|
|
@ -613,7 +652,10 @@ PSA_TEST_SERVER(doorbell_test)
|
|||
test_status = PSA_TEST_ERROR;
|
||||
}
|
||||
|
||||
psa_get(TEST_MSK, &msg);
|
||||
if (PSA_SUCCESS != psa_get(TEST_MSK, &msg)) {
|
||||
SPM_PANIC("psa_get() failed\n");
|
||||
}
|
||||
|
||||
if (((msg.in_size[0] + msg.in_size[1] + msg.in_size[2]) != 0) || (msg.out_size[0] != 0)) {
|
||||
test_status = ((test_status != PSA_SUCCESS) ? test_status : PSA_TEST_ERROR);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -58,7 +58,10 @@ void smoke_part_main(void *ptr)
|
|||
SPM_PANIC("Received unknown signal (0x%08lx)\n", signals);
|
||||
}
|
||||
|
||||
psa_get(ROT_SRV1_MSK, &msg);
|
||||
if (PSA_SUCCESS != psa_get(ROT_SRV1_MSK, &msg)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (msg.handle != PSA_NULL_HANDLE) {
|
||||
client_id = msg.client_id;
|
||||
if (client_id != -1) {
|
||||
|
|
|
|||
|
|
@ -233,7 +233,7 @@ psa_signal_t psa_wait(psa_signal_t signal_mask, uint32_t timeout)
|
|||
return (osFlagsErrorTimeout == asserted_signals) ? 0 : asserted_signals;
|
||||
}
|
||||
|
||||
void psa_get(psa_signal_t signum, psa_msg_t *msg)
|
||||
psa_status_t psa_get(psa_signal_t signal, psa_msg_t *msg)
|
||||
{
|
||||
spm_partition_t *curr_partition = get_active_partition();
|
||||
SPM_ASSERT(NULL != curr_partition); // active thread in SPM must be in partition DB
|
||||
|
|
@ -244,24 +244,24 @@ void psa_get(psa_signal_t signum, psa_msg_t *msg)
|
|||
|
||||
memset(msg, 0, sizeof(*msg));
|
||||
|
||||
// signum must be ONLY ONE of the bits of curr_partition->flags_rot_srv
|
||||
bool is_one_bit = ((signum != 0) && !(signum & (signum - 1)));
|
||||
if (!is_one_bit || !(signum & curr_partition->flags)) {
|
||||
// signal must be ONLY ONE of the bits of curr_partition->flags_rot_srv
|
||||
bool is_one_bit = ((signal != 0) && !(signal & (signal - 1)));
|
||||
if (!is_one_bit || !(signal & curr_partition->flags)) {
|
||||
SPM_PANIC(
|
||||
"signum 0x%lx must have only 1 bit ON and must be a subset of 0x%lx!\n",
|
||||
signum,
|
||||
"signal 0x%lx must have only 1 bit ON and must be a subset of 0x%lx!\n",
|
||||
signal,
|
||||
curr_partition->flags
|
||||
);
|
||||
}
|
||||
|
||||
uint32_t active_flags = osThreadFlagsGet();
|
||||
if (0 == (signum & active_flags)) {
|
||||
if (0 == (signal & active_flags)) {
|
||||
SPM_PANIC("flag is not active!\n");
|
||||
}
|
||||
|
||||
spm_rot_service_t *curr_rot_service = get_rot_service(curr_partition, signum);
|
||||
spm_rot_service_t *curr_rot_service = get_rot_service(curr_partition, signal);
|
||||
if (curr_rot_service == NULL) {
|
||||
SPM_PANIC("Received signal (0x%08lx) that does not match any root of trust service", signum);
|
||||
SPM_PANIC("Received signal (0x%08lx) that does not match any root of trust service", signal);
|
||||
}
|
||||
spm_ipc_channel_t *curr_channel = spm_rot_service_queue_dequeue(curr_rot_service);
|
||||
|
||||
|
|
@ -294,6 +294,7 @@ void psa_get(psa_signal_t signum, psa_msg_t *msg)
|
|||
}
|
||||
|
||||
copy_message_to_spm(curr_channel, msg);
|
||||
return PSA_SUCCESS;
|
||||
}
|
||||
|
||||
static size_t read_or_skip(psa_handle_t msg_handle, uint32_t invec_idx, void *buf, size_t num_bytes)
|
||||
|
|
|
|||
|
|
@ -53,10 +53,13 @@ psa_signal_t psa_wait(psa_signal_t signal_mask, uint32_t timeout);
|
|||
/**
|
||||
* Get the message that corresponds to a given signal.
|
||||
*
|
||||
* @param[in] signum An asserted signal returned from psa_wait().
|
||||
* @param[in] signal An asserted signal returned from psa_wait().
|
||||
* @param[out] msg Pointer to a psa_msg structure.
|
||||
*
|
||||
* @return 0 for success or@n
|
||||
* @a PSA_ERR_NOMSG if the message could not be delivered.
|
||||
*/
|
||||
void psa_get(psa_signal_t signum, psa_msg_t *msg);
|
||||
psa_status_t psa_get(psa_signal_t signal, psa_msg_t *msg);
|
||||
|
||||
/**
|
||||
* Associate the caller-provided private data with a specified handle.
|
||||
|
|
|
|||
|
|
@ -127,7 +127,9 @@ static void psa_crypto_init_operation(void)
|
|||
psa_msg_t msg = { 0 };
|
||||
psa_status_t status = PSA_SUCCESS;
|
||||
|
||||
psa_get(PSA_CRYPTO_INIT, &msg);
|
||||
if (PSA_SUCCESS != psa_get(PSA_CRYPTO_INIT, &msg)) {
|
||||
return;
|
||||
}
|
||||
switch (msg.type) {
|
||||
case PSA_IPC_CONNECT:
|
||||
case PSA_IPC_DISCONNECT: {
|
||||
|
|
@ -161,7 +163,9 @@ static void psa_crypto_free_operation(void)
|
|||
psa_msg_t msg = { 0 };
|
||||
psa_status_t status = PSA_SUCCESS;
|
||||
|
||||
psa_get(PSA_CRYPTO_FREE, &msg);
|
||||
if (PSA_SUCCESS != psa_get(PSA_CRYPTO_FREE, &msg)) {
|
||||
return;
|
||||
}
|
||||
switch (msg.type) {
|
||||
case PSA_IPC_CONNECT:
|
||||
case PSA_IPC_DISCONNECT: {
|
||||
|
|
@ -199,7 +203,9 @@ static void psa_mac_operation(void)
|
|||
psa_msg_t msg = { 0 };
|
||||
psa_status_t status = PSA_SUCCESS;
|
||||
|
||||
psa_get(PSA_MAC, &msg);
|
||||
if (PSA_SUCCESS != psa_get(PSA_MAC, &msg)) {
|
||||
return;
|
||||
}
|
||||
switch (msg.type) {
|
||||
case PSA_IPC_CONNECT: {
|
||||
psa_mac_operation_t *psa_operation = mbedtls_calloc(1, sizeof(psa_mac_operation_t));
|
||||
|
|
@ -382,7 +388,9 @@ static void psa_hash_operation(void)
|
|||
psa_msg_t msg = { 0 };
|
||||
psa_status_t status = PSA_SUCCESS;
|
||||
|
||||
psa_get(PSA_HASH, &msg);
|
||||
if (PSA_SUCCESS != psa_get(PSA_HASH, &msg)) {
|
||||
return;
|
||||
}
|
||||
switch (msg.type) {
|
||||
case PSA_IPC_CONNECT: {
|
||||
psa_hash_operation_t *psa_operation = mbedtls_calloc(1, sizeof(psa_hash_operation_t));
|
||||
|
|
@ -572,7 +580,9 @@ static void psa_asymmetric_operation(void)
|
|||
psa_msg_t msg = { 0 };
|
||||
psa_status_t status = PSA_SUCCESS;
|
||||
|
||||
psa_get(PSA_ASYMMETRIC, &msg);
|
||||
if (PSA_SUCCESS != psa_get(PSA_ASYMMETRIC, &msg)) {
|
||||
return;
|
||||
}
|
||||
switch (msg.type) {
|
||||
case PSA_IPC_CONNECT:
|
||||
case PSA_IPC_DISCONNECT: {
|
||||
|
|
@ -764,7 +774,9 @@ static void psa_aead_operation()
|
|||
psa_msg_t msg = { 0 };
|
||||
psa_status_t status = PSA_SUCCESS;
|
||||
|
||||
psa_get(PSA_AEAD, &msg);
|
||||
if (PSA_SUCCESS != psa_get(PSA_ASYMMPSA_AEADETRIC, &msg)) {
|
||||
return;
|
||||
}
|
||||
switch (msg.type) {
|
||||
case PSA_IPC_CONNECT:
|
||||
case PSA_IPC_DISCONNECT: {
|
||||
|
|
@ -879,7 +891,9 @@ static void psa_symmetric_operation(void)
|
|||
psa_status_t status = PSA_SUCCESS;
|
||||
psa_msg_t msg = { 0 };
|
||||
|
||||
psa_get(PSA_SYMMETRIC, &msg);
|
||||
if (PSA_SUCCESS != psa_get(PSA_SYMMETRIC, &msg)) {
|
||||
return;
|
||||
}
|
||||
switch (msg.type) {
|
||||
case PSA_IPC_CONNECT: {
|
||||
psa_cipher_operation_t *psa_operation =
|
||||
|
|
@ -1063,7 +1077,9 @@ static void psa_key_management_operation(void)
|
|||
psa_status_t status = PSA_SUCCESS;
|
||||
int32_t partition_id = 0;
|
||||
|
||||
psa_get(PSA_KEY_MNG, &msg);
|
||||
if (PSA_SUCCESS != psa_get(PSA_KEY_MNG, &msg)) {
|
||||
return;
|
||||
}
|
||||
switch (msg.type) {
|
||||
case PSA_IPC_CONNECT:
|
||||
case PSA_IPC_DISCONNECT: {
|
||||
|
|
@ -1398,7 +1414,9 @@ static void psa_entropy_operation(void)
|
|||
psa_msg_t msg = { 0 };
|
||||
psa_status_t status = PSA_SUCCESS;
|
||||
|
||||
psa_get(PSA_ENTROPY_INJECT, &msg);
|
||||
if (PSA_SUCCESS != psa_get(PSA_ENTROPY_INJECT, &msg)) {
|
||||
return;
|
||||
}
|
||||
switch (msg.type) {
|
||||
case PSA_IPC_CONNECT:
|
||||
case PSA_IPC_DISCONNECT: {
|
||||
|
|
@ -1449,7 +1467,9 @@ static void psa_rng_operation(void)
|
|||
psa_msg_t msg = { 0 };
|
||||
psa_status_t status = PSA_SUCCESS;
|
||||
|
||||
psa_get(PSA_RNG, &msg);
|
||||
if (PSA_SUCCESS != psa_get(PSA_RNG, &msg)) {
|
||||
return;
|
||||
}
|
||||
switch (msg.type) {
|
||||
case PSA_IPC_CONNECT:
|
||||
case PSA_IPC_DISCONNECT: {
|
||||
|
|
@ -1488,8 +1508,9 @@ void psa_crypto_generator_operations(void)
|
|||
psa_status_t status = PSA_SUCCESS;
|
||||
psa_msg_t msg = { 0 };
|
||||
|
||||
psa_get(PSA_GENERATOR, &msg);
|
||||
|
||||
if (PSA_SUCCESS != psa_get(PSA_GENERATOR, &msg)) {
|
||||
return;
|
||||
}
|
||||
switch (msg.type) {
|
||||
case PSA_IPC_CONNECT: {
|
||||
psa_crypto_generator_t *psa_operation =
|
||||
|
|
|
|||
|
|
@ -92,15 +92,21 @@ void platform_partition_entry(void *ptr)
|
|||
while (1) {
|
||||
signals = psa_wait(PLATFORM_WAIT_ANY_SID_MSK, PSA_BLOCK);
|
||||
if ((signals & PSA_PLATFORM_LC_GET_MSK) != 0) {
|
||||
psa_get(PSA_PLATFORM_LC_GET_MSK, &msg);
|
||||
if (PSA_SUCCESS != psa_get(PSA_PLATFORM_LC_GET_MSK, &msg)) {
|
||||
continue;
|
||||
}
|
||||
message_handler(&msg, lifecycle_get);
|
||||
}
|
||||
if ((signals & PSA_PLATFORM_LC_SET_MSK) != 0) {
|
||||
psa_get(PSA_PLATFORM_LC_SET_MSK, &msg);
|
||||
if (PSA_SUCCESS != psa_get(PSA_PLATFORM_LC_SET_MSK, &msg)) {
|
||||
continue;
|
||||
}
|
||||
message_handler(&msg, lifecycle_change_request);
|
||||
}
|
||||
if ((signals & PSA_PLATFORM_SYSTEM_RESET_MSK) != 0) {
|
||||
psa_get(PSA_PLATFORM_SYSTEM_RESET_MSK, &msg);
|
||||
if (PSA_SUCCESS != psa_get(PSA_PLATFORM_SYSTEM_RESET_MSK, &msg)) {
|
||||
continue;
|
||||
}
|
||||
message_handler(&msg, system_reset_request);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -188,23 +188,33 @@ void its_entry(void *ptr)
|
|||
}
|
||||
|
||||
if ((signals & PSA_ITS_SET_MSK) != 0) {
|
||||
psa_get(PSA_ITS_SET_MSK, &msg);
|
||||
if (PSA_SUCCESS != psa_get(PSA_ITS_SET_MSK, &msg)) {
|
||||
continue;
|
||||
}
|
||||
message_handler(&msg, storage_set);
|
||||
}
|
||||
if ((signals & PSA_ITS_GET_MSK) != 0) {
|
||||
psa_get(PSA_ITS_GET_MSK, &msg);
|
||||
if (PSA_SUCCESS != psa_get(PSA_ITS_GET_MSK, &msg)) {
|
||||
continue;
|
||||
}
|
||||
message_handler(&msg, storage_get);
|
||||
}
|
||||
if ((signals & PSA_ITS_INFO_MSK) != 0) {
|
||||
psa_get(PSA_ITS_INFO_MSK, &msg);
|
||||
if (PSA_SUCCESS != psa_get(PSA_ITS_INFO_MSK, &msg)) {
|
||||
continue;
|
||||
}
|
||||
message_handler(&msg, storage_info);
|
||||
}
|
||||
if ((signals & PSA_ITS_REMOVE_MSK) != 0) {
|
||||
psa_get(PSA_ITS_REMOVE_MSK, &msg);
|
||||
if (PSA_SUCCESS != psa_get(PSA_ITS_REMOVE_MSK, &msg)) {
|
||||
continue;
|
||||
}
|
||||
message_handler(&msg, storage_remove);
|
||||
}
|
||||
if ((signals & PSA_ITS_RESET_MSK) != 0) {
|
||||
psa_get(PSA_ITS_RESET_MSK, &msg);
|
||||
if (PSA_SUCCESS != psa_get(PSA_ITS_RESET_MSK, &msg)) {
|
||||
continue;
|
||||
}
|
||||
message_handler(&msg, storage_reset);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue