Attestation: aut- generated files by generate_partition_code.py

Atestation paration added.
pull/9668/head
Moran Peker 2019-02-11 23:22:58 +02:00 committed by Moran Peker
parent 9a4ea3d319
commit 5f45b0af92
4 changed files with 80 additions and 20 deletions

View File

@ -28,14 +28,16 @@
#include "handles_manager.h" #include "handles_manager.h"
#include "cmsis.h" #include "cmsis.h"
#include "psa_client_tests_part1_partition.h" #include "psa_client_tests_part1_partition.h"
#include "psa_attest_srv_partition.h"
#include "psa_crypto_srv_partition.h" #include "psa_crypto_srv_partition.h"
#include "psa_platform_partition.h" #include "psa_platform_partition.h"
#include "psa_its_partition.h" #include "psa_its_partition.h"
extern const uint32_t attest_srv_external_sids[6];
extern const uint32_t crypto_srv_external_sids[4]; extern const uint32_t crypto_srv_external_sids[4];
extern const uint32_t platform_external_sids[1]; extern const uint32_t platform_external_sids[1];
spm_partition_t g_partitions[4] = { spm_partition_t g_partitions[5] = {
{ {
.partition_id = CLIENT_TESTS_PART1_ID, .partition_id = CLIENT_TESTS_PART1_ID,
.thread_id = 0, .thread_id = 0,
@ -47,6 +49,17 @@ spm_partition_t g_partitions[4] = {
.extern_sids_count = CLIENT_TESTS_PART1_EXT_ROT_SRV_COUNT, .extern_sids_count = CLIENT_TESTS_PART1_EXT_ROT_SRV_COUNT,
.irq_mapper = NULL, .irq_mapper = NULL,
}, },
{
.partition_id = ATTEST_SRV_ID,
.thread_id = 0,
.flags_rot_srv = ATTEST_SRV_WAIT_ANY_SID_MSK,
.flags_interrupts = 0,
.rot_services = NULL,
.rot_services_count = ATTEST_SRV_ROT_SRV_COUNT,
.extern_sids = attest_srv_external_sids,
.extern_sids_count = ATTEST_SRV_EXT_ROT_SRV_COUNT,
.irq_mapper = NULL,
},
{ {
.partition_id = CRYPTO_SRV_ID, .partition_id = CRYPTO_SRV_ID,
.thread_id = 0, .thread_id = 0,
@ -91,6 +104,7 @@ const uint32_t mem_region_count = 0;
// forward declaration of partition initializers // forward declaration of partition initializers
void client_tests_part1_init(spm_partition_t *partition); void client_tests_part1_init(spm_partition_t *partition);
void attest_srv_init(spm_partition_t *partition);
void crypto_srv_init(spm_partition_t *partition); void crypto_srv_init(spm_partition_t *partition);
void platform_init(spm_partition_t *partition); void platform_init(spm_partition_t *partition);
void its_init(spm_partition_t *partition); void its_init(spm_partition_t *partition);
@ -102,11 +116,12 @@ uint32_t init_partitions(spm_partition_t **partitions)
} }
client_tests_part1_init(&(g_partitions[0])); client_tests_part1_init(&(g_partitions[0]));
crypto_srv_init(&(g_partitions[1])); attest_srv_init(&(g_partitions[1]));
platform_init(&(g_partitions[2])); crypto_srv_init(&(g_partitions[2]));
its_init(&(g_partitions[3])); platform_init(&(g_partitions[3]));
its_init(&(g_partitions[4]));
*partitions = g_partitions; *partitions = g_partitions;
return 4; return 5;
} }

View File

@ -29,15 +29,17 @@
#include "cmsis.h" #include "cmsis.h"
#include "psa_server_test_part1_partition.h" #include "psa_server_test_part1_partition.h"
#include "psa_server_test_part2_partition.h" #include "psa_server_test_part2_partition.h"
#include "psa_attest_srv_partition.h"
#include "psa_crypto_srv_partition.h" #include "psa_crypto_srv_partition.h"
#include "psa_platform_partition.h" #include "psa_platform_partition.h"
#include "psa_its_partition.h" #include "psa_its_partition.h"
extern const uint32_t server_test_part1_external_sids[2]; extern const uint32_t server_test_part1_external_sids[2];
extern const uint32_t attest_srv_external_sids[6];
extern const uint32_t crypto_srv_external_sids[4]; extern const uint32_t crypto_srv_external_sids[4];
extern const uint32_t platform_external_sids[1]; extern const uint32_t platform_external_sids[1];
spm_partition_t g_partitions[5] = { spm_partition_t g_partitions[6] = {
{ {
.partition_id = SERVER_TEST_PART1_ID, .partition_id = SERVER_TEST_PART1_ID,
.thread_id = 0, .thread_id = 0,
@ -60,6 +62,17 @@ spm_partition_t g_partitions[5] = {
.extern_sids_count = SERVER_TEST_PART2_EXT_ROT_SRV_COUNT, .extern_sids_count = SERVER_TEST_PART2_EXT_ROT_SRV_COUNT,
.irq_mapper = NULL, .irq_mapper = NULL,
}, },
{
.partition_id = ATTEST_SRV_ID,
.thread_id = 0,
.flags_rot_srv = ATTEST_SRV_WAIT_ANY_SID_MSK,
.flags_interrupts = 0,
.rot_services = NULL,
.rot_services_count = ATTEST_SRV_ROT_SRV_COUNT,
.extern_sids = attest_srv_external_sids,
.extern_sids_count = ATTEST_SRV_EXT_ROT_SRV_COUNT,
.irq_mapper = NULL,
},
{ {
.partition_id = CRYPTO_SRV_ID, .partition_id = CRYPTO_SRV_ID,
.thread_id = 0, .thread_id = 0,
@ -105,6 +118,7 @@ const uint32_t mem_region_count = 0;
// forward declaration of partition initializers // forward declaration of partition initializers
void server_test_part1_init(spm_partition_t *partition); void server_test_part1_init(spm_partition_t *partition);
void server_test_part2_init(spm_partition_t *partition); void server_test_part2_init(spm_partition_t *partition);
void attest_srv_init(spm_partition_t *partition);
void crypto_srv_init(spm_partition_t *partition); void crypto_srv_init(spm_partition_t *partition);
void platform_init(spm_partition_t *partition); void platform_init(spm_partition_t *partition);
void its_init(spm_partition_t *partition); void its_init(spm_partition_t *partition);
@ -117,11 +131,12 @@ uint32_t init_partitions(spm_partition_t **partitions)
server_test_part1_init(&(g_partitions[0])); server_test_part1_init(&(g_partitions[0]));
server_test_part2_init(&(g_partitions[1])); server_test_part2_init(&(g_partitions[1]));
crypto_srv_init(&(g_partitions[2])); attest_srv_init(&(g_partitions[2]));
platform_init(&(g_partitions[3])); crypto_srv_init(&(g_partitions[3]));
its_init(&(g_partitions[4])); platform_init(&(g_partitions[4]));
its_init(&(g_partitions[5]));
*partitions = g_partitions; *partitions = g_partitions;
return 5; return 6;
} }

View File

@ -28,14 +28,16 @@
#include "handles_manager.h" #include "handles_manager.h"
#include "cmsis.h" #include "cmsis.h"
#include "psa_smoke_test_part1_partition.h" #include "psa_smoke_test_part1_partition.h"
#include "psa_attest_srv_partition.h"
#include "psa_crypto_srv_partition.h" #include "psa_crypto_srv_partition.h"
#include "psa_platform_partition.h" #include "psa_platform_partition.h"
#include "psa_its_partition.h" #include "psa_its_partition.h"
extern const uint32_t attest_srv_external_sids[6];
extern const uint32_t crypto_srv_external_sids[4]; extern const uint32_t crypto_srv_external_sids[4];
extern const uint32_t platform_external_sids[1]; extern const uint32_t platform_external_sids[1];
spm_partition_t g_partitions[4] = { spm_partition_t g_partitions[5] = {
{ {
.partition_id = SMOKE_TEST_PART1_ID, .partition_id = SMOKE_TEST_PART1_ID,
.thread_id = 0, .thread_id = 0,
@ -47,6 +49,17 @@ spm_partition_t g_partitions[4] = {
.extern_sids_count = SMOKE_TEST_PART1_EXT_ROT_SRV_COUNT, .extern_sids_count = SMOKE_TEST_PART1_EXT_ROT_SRV_COUNT,
.irq_mapper = NULL, .irq_mapper = NULL,
}, },
{
.partition_id = ATTEST_SRV_ID,
.thread_id = 0,
.flags_rot_srv = ATTEST_SRV_WAIT_ANY_SID_MSK,
.flags_interrupts = 0,
.rot_services = NULL,
.rot_services_count = ATTEST_SRV_ROT_SRV_COUNT,
.extern_sids = attest_srv_external_sids,
.extern_sids_count = ATTEST_SRV_EXT_ROT_SRV_COUNT,
.irq_mapper = NULL,
},
{ {
.partition_id = CRYPTO_SRV_ID, .partition_id = CRYPTO_SRV_ID,
.thread_id = 0, .thread_id = 0,
@ -91,6 +104,7 @@ const uint32_t mem_region_count = 0;
// forward declaration of partition initializers // forward declaration of partition initializers
void smoke_test_part1_init(spm_partition_t *partition); void smoke_test_part1_init(spm_partition_t *partition);
void attest_srv_init(spm_partition_t *partition);
void crypto_srv_init(spm_partition_t *partition); void crypto_srv_init(spm_partition_t *partition);
void platform_init(spm_partition_t *partition); void platform_init(spm_partition_t *partition);
void its_init(spm_partition_t *partition); void its_init(spm_partition_t *partition);
@ -102,11 +116,12 @@ uint32_t init_partitions(spm_partition_t **partitions)
} }
smoke_test_part1_init(&(g_partitions[0])); smoke_test_part1_init(&(g_partitions[0]));
crypto_srv_init(&(g_partitions[1])); attest_srv_init(&(g_partitions[1]));
platform_init(&(g_partitions[2])); crypto_srv_init(&(g_partitions[2]));
its_init(&(g_partitions[3])); platform_init(&(g_partitions[3]));
its_init(&(g_partitions[4]));
*partitions = g_partitions; *partitions = g_partitions;
return 4; return 5;
} }

View File

@ -27,15 +27,28 @@
#include "spm_internal.h" #include "spm_internal.h"
#include "handles_manager.h" #include "handles_manager.h"
#include "cmsis.h" #include "cmsis.h"
#include "psa_attest_srv_partition.h"
#include "psa_crypto_srv_partition.h" #include "psa_crypto_srv_partition.h"
#include "psa_platform_partition.h" #include "psa_platform_partition.h"
#include "psa_its_partition.h" #include "psa_its_partition.h"
extern const uint32_t attest_srv_external_sids[6];
extern const uint32_t crypto_srv_external_sids[4]; extern const uint32_t crypto_srv_external_sids[4];
extern const uint32_t platform_external_sids[1]; extern const uint32_t platform_external_sids[1];
__attribute__((weak)) __attribute__((weak))
spm_partition_t g_partitions[3] = { spm_partition_t g_partitions[4] = {
{
.partition_id = ATTEST_SRV_ID,
.thread_id = 0,
.flags_rot_srv = ATTEST_SRV_WAIT_ANY_SID_MSK,
.flags_interrupts = 0,
.rot_services = NULL,
.rot_services_count = ATTEST_SRV_ROT_SRV_COUNT,
.extern_sids = attest_srv_external_sids,
.extern_sids_count = ATTEST_SRV_EXT_ROT_SRV_COUNT,
.irq_mapper = NULL,
},
{ {
.partition_id = CRYPTO_SRV_ID, .partition_id = CRYPTO_SRV_ID,
.thread_id = 0, .thread_id = 0,
@ -81,6 +94,7 @@ __attribute__((weak))
const uint32_t mem_region_count = 0; const uint32_t mem_region_count = 0;
// forward declaration of partition initializers // forward declaration of partition initializers
void attest_srv_init(spm_partition_t *partition);
void crypto_srv_init(spm_partition_t *partition); void crypto_srv_init(spm_partition_t *partition);
void platform_init(spm_partition_t *partition); void platform_init(spm_partition_t *partition);
void its_init(spm_partition_t *partition); void its_init(spm_partition_t *partition);
@ -92,11 +106,12 @@ uint32_t init_partitions(spm_partition_t **partitions)
SPM_PANIC("partitions is NULL!\n"); SPM_PANIC("partitions is NULL!\n");
} }
crypto_srv_init(&(g_partitions[0])); attest_srv_init(&(g_partitions[0]));
platform_init(&(g_partitions[1])); crypto_srv_init(&(g_partitions[1]));
its_init(&(g_partitions[2])); platform_init(&(g_partitions[2]));
its_init(&(g_partitions[3]));
*partitions = g_partitions; *partitions = g_partitions;
return 3; return 4;
} }