Update psa_sim_serialise.pl to create the psa_sim_serialise.c we want

Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com>
This commit is contained in:
Tom Cosgrove 2024-06-18 13:22:21 +01:00
parent 37610024e9
commit a60d9223d6
2 changed files with 15 additions and 12 deletions

View File

@ -110,8 +110,7 @@ static ssize_t allocate_aead_operation_slot(void)
{
psasim_client_handle_t handle = next_aead_operation_handle++;
if (next_aead_operation_handle == 0) { /* wrapped around */
fprintf(stderr, "MAX HASH HANDLES REACHED\n");
exit(1);
FATAL("Aead operation handle wrapped");
}
for (ssize_t i = 0; i < MAX_LIVE_HANDLES_PER_CLASS; i++) {
@ -121,6 +120,8 @@ static ssize_t allocate_aead_operation_slot(void)
}
}
ERROR("All slots are currently used. Unable to allocate a new one.");
return -1; /* all in use */
}
@ -133,7 +134,9 @@ static ssize_t find_aead_slot_by_handle(psasim_client_handle_t handle)
}
}
return -1; /* all in use */
ERROR("Unable to find slot by handle %u", handle);
return -1; /* not found */
}
size_t psasim_serialise_begin_needs(void)
@ -710,9 +713,3 @@ int psasim_deserialise_mbedtls_svc_key_id_t(uint8_t **pos,
return 1;
}
void psa_sim_serialize_reset(void)
{
memset(hash_operation_handles, 0, sizeof(hash_operation_handles));
memset(hash_operations, 0, sizeof(hash_operations));
}

View File

@ -724,6 +724,7 @@ sub c_header
*/
#include "psa_sim_serialise.h"
#include "util.h"
#include <stdlib.h>
#include <string.h>
@ -788,6 +789,8 @@ sub define_operation_type_data_and_functions
{
my ($type) = @_; # e.g. 'hash' rather than 'psa_hash_operation_t'
my $utype = ucfirst($type);
return <<EOF;
static psa_${type}_operation_t ${type}_operations[MAX_LIVE_HANDLES_PER_CLASS];
@ -799,8 +802,7 @@ static ssize_t allocate_${type}_operation_slot(void)
{
psasim_client_handle_t handle = next_${type}_operation_handle++;
if (next_${type}_operation_handle == 0) { /* wrapped around */
fprintf(stderr, "MAX HASH HANDLES REACHED\\n");
exit(1);
FATAL("$utype operation handle wrapped");
}
for (ssize_t i = 0; i < MAX_LIVE_HANDLES_PER_CLASS; i++) {
@ -810,6 +812,8 @@ static ssize_t allocate_${type}_operation_slot(void)
}
}
ERROR("All slots are currently used. Unable to allocate a new one.");
return -1; /* all in use */
}
@ -822,7 +826,9 @@ static ssize_t find_${type}_slot_by_handle(psasim_client_handle_t handle)
}
}
return -1; /* all in use */
ERROR("Unable to find slot by handle %u", handle);
return -1; /* not found */
}
EOF
}