diff --git a/TESTS/psa/spm_client/COMPONENT_SPE/psa_setup.c b/TESTS/psa/spm_client/COMPONENT_SPE/psa_setup.c index b84e6d64c0..60e45e4208 100644 --- a/TESTS/psa/spm_client/COMPONENT_SPE/psa_setup.c +++ b/TESTS/psa/spm_client/COMPONENT_SPE/psa_setup.c @@ -33,6 +33,7 @@ #include "psa_its_partition.h" extern const uint32_t crypto_srv_external_sids[4]; +extern const uint32_t platform_external_sids[1]; spm_partition_t g_partitions[4] = { { @@ -64,7 +65,7 @@ spm_partition_t g_partitions[4] = { .flags_interrupts = 0, .rot_services = NULL, .rot_services_count = PLATFORM_ROT_SRV_COUNT, - .extern_sids = NULL, + .extern_sids = platform_external_sids, .extern_sids_count = PLATFORM_EXT_ROT_SRV_COUNT, .irq_mapper = NULL, }, diff --git a/TESTS/psa/spm_server/COMPONENT_SPE/psa_setup.c b/TESTS/psa/spm_server/COMPONENT_SPE/psa_setup.c index 3a284af0e5..b7c7b78f86 100644 --- a/TESTS/psa/spm_server/COMPONENT_SPE/psa_setup.c +++ b/TESTS/psa/spm_server/COMPONENT_SPE/psa_setup.c @@ -35,6 +35,7 @@ extern const uint32_t server_test_part1_external_sids[2]; extern const uint32_t crypto_srv_external_sids[4]; +extern const uint32_t platform_external_sids[1]; spm_partition_t g_partitions[5] = { { @@ -77,7 +78,7 @@ spm_partition_t g_partitions[5] = { .flags_interrupts = 0, .rot_services = NULL, .rot_services_count = PLATFORM_ROT_SRV_COUNT, - .extern_sids = NULL, + .extern_sids = platform_external_sids, .extern_sids_count = PLATFORM_EXT_ROT_SRV_COUNT, .irq_mapper = NULL, }, diff --git a/TESTS/psa/spm_smoke/COMPONENT_SPE/psa_setup.c b/TESTS/psa/spm_smoke/COMPONENT_SPE/psa_setup.c index 1dfe9bc93c..116eb77a9c 100644 --- a/TESTS/psa/spm_smoke/COMPONENT_SPE/psa_setup.c +++ b/TESTS/psa/spm_smoke/COMPONENT_SPE/psa_setup.c @@ -33,6 +33,7 @@ #include "psa_its_partition.h" extern const uint32_t crypto_srv_external_sids[4]; +extern const uint32_t platform_external_sids[1]; spm_partition_t g_partitions[4] = { { @@ -64,7 +65,7 @@ spm_partition_t g_partitions[4] = { .flags_interrupts = 0, .rot_services = NULL, .rot_services_count = PLATFORM_ROT_SRV_COUNT, - .extern_sids = NULL, + .extern_sids = platform_external_sids, .extern_sids_count = PLATFORM_EXT_ROT_SRV_COUNT, .irq_mapper = NULL, }, diff --git a/components/TARGET_PSA/TARGET_MBED_SPM/COMPONENT_SPE/psa_setup.c b/components/TARGET_PSA/TARGET_MBED_SPM/COMPONENT_SPE/psa_setup.c index 71c8a99b56..b42b30f7c3 100644 --- a/components/TARGET_PSA/TARGET_MBED_SPM/COMPONENT_SPE/psa_setup.c +++ b/components/TARGET_PSA/TARGET_MBED_SPM/COMPONENT_SPE/psa_setup.c @@ -32,6 +32,7 @@ #include "psa_its_partition.h" extern const uint32_t crypto_srv_external_sids[4]; +extern const uint32_t platform_external_sids[1]; __attribute__((weak)) spm_partition_t g_partitions[3] = { @@ -53,7 +54,7 @@ spm_partition_t g_partitions[3] = { .flags_interrupts = 0, .rot_services = NULL, .rot_services_count = PLATFORM_ROT_SRV_COUNT, - .extern_sids = NULL, + .extern_sids = platform_external_sids, .extern_sids_count = PLATFORM_EXT_ROT_SRV_COUNT, .irq_mapper = NULL, }, diff --git a/components/TARGET_PSA/services/platform/COMPONENT_SPE/TARGET_MBED_SPM/psa_platform_partition.c b/components/TARGET_PSA/services/platform/COMPONENT_SPE/TARGET_MBED_SPM/psa_platform_partition.c index e5082e1f68..7d761e8876 100644 --- a/components/TARGET_PSA/services/platform/COMPONENT_SPE/TARGET_MBED_SPM/psa_platform_partition.c +++ b/components/TARGET_PSA/services/platform/COMPONENT_SPE/TARGET_MBED_SPM/psa_platform_partition.c @@ -30,6 +30,7 @@ #include "spm_internal.h" #include "psa_platform_partition.h" #include "psa_platform_ifs.h" +#include "psa_its_ifs.h" /* Threads stacks */ @@ -78,6 +79,10 @@ spm_rot_service_t platform_rot_services[PLATFORM_ROT_SRV_COUNT] = { }, }; +/* External SIDs used by PLATFORM */ +const uint32_t platform_external_sids[1] = { + PSA_ITS_RESET, +}; static osRtxMutex_t platform_mutex = {0}; static const osMutexAttr_t platform_mutex_attr = { diff --git a/components/TARGET_PSA/services/platform/COMPONENT_SPE/psa_platform_partition.h b/components/TARGET_PSA/services/platform/COMPONENT_SPE/psa_platform_partition.h index 3106b9c535..ef2f266d4a 100644 --- a/components/TARGET_PSA/services/platform/COMPONENT_SPE/psa_platform_partition.h +++ b/components/TARGET_PSA/services/platform/COMPONENT_SPE/psa_platform_partition.h @@ -29,7 +29,7 @@ #define PLATFORM_ID 8 #define PLATFORM_ROT_SRV_COUNT (2UL) -#define PLATFORM_EXT_ROT_SRV_COUNT (0UL) +#define PLATFORM_EXT_ROT_SRV_COUNT (1UL) /* PLATFORM event flags */ #define PLATFORM_RESERVED1_POS (1UL) diff --git a/components/TARGET_PSA/services/platform/platform_psa.json b/components/TARGET_PSA/services/platform/platform_psa.json index ab5c590ee3..a05f869703 100644 --- a/components/TARGET_PSA/services/platform/platform_psa.json +++ b/components/TARGET_PSA/services/platform/platform_psa.json @@ -23,6 +23,9 @@ "minor_policy": "RELAXED" } ], + "extern_sids": [ + "PSA_ITS_RESET" + ], "source_files": [ "COMPONENT_SPE/platform_partition.c" ]