mirror of https://github.com/ARMmbed/mbed-os.git
Add SPM code generation test to Travis-CI
parent
52822cb8af
commit
45bd4f305a
|
@ -280,3 +280,9 @@ matrix:
|
||||||
- echo 'Checking that there is no GPL licence text in code'
|
- echo 'Checking that there is no GPL licence text in code'
|
||||||
- ! git grep -q --ignore-case "gnu general public";
|
- ! git grep -q --ignore-case "gnu general public";
|
||||||
- ! git grep -q --ignore-case "gnu library general public";
|
- ! git grep -q --ignore-case "gnu library general public";
|
||||||
|
- env:
|
||||||
|
- NAME=psa-autogen
|
||||||
|
script:
|
||||||
|
# Run SPM code generator and check that changes are not needed
|
||||||
|
- python tools/spm/generate_partition_code.py
|
||||||
|
- git diff --exit-code
|
||||||
|
|
|
@ -26,8 +26,8 @@
|
||||||
#include "handles_manager.h"
|
#include "handles_manager.h"
|
||||||
#include "cmsis.h"
|
#include "cmsis.h"
|
||||||
#include "psa_test_its_reset_partition.h"
|
#include "psa_test_its_reset_partition.h"
|
||||||
#include "psa_its_partition.h"
|
|
||||||
#include "psa_psa_f_partition.h"
|
#include "psa_psa_f_partition.h"
|
||||||
|
#include "psa_its_partition.h"
|
||||||
|
|
||||||
extern const uint32_t psa_f_external_sids[4];
|
extern const uint32_t psa_f_external_sids[4];
|
||||||
|
|
||||||
|
@ -43,17 +43,6 @@ spm_partition_t g_partitions[3] = {
|
||||||
.extern_sids_count = TEST_ITS_RESET_EXT_ROT_SRV_COUNT,
|
.extern_sids_count = TEST_ITS_RESET_EXT_ROT_SRV_COUNT,
|
||||||
.irq_mapper = NULL,
|
.irq_mapper = NULL,
|
||||||
},
|
},
|
||||||
{
|
|
||||||
.partition_id = ITS_ID,
|
|
||||||
.thread_id = 0,
|
|
||||||
.flags_rot_srv = ITS_WAIT_ANY_SID_MSK,
|
|
||||||
.flags_interrupts = 0,
|
|
||||||
.rot_services = NULL,
|
|
||||||
.rot_services_count = ITS_ROT_SRV_COUNT,
|
|
||||||
.extern_sids = NULL,
|
|
||||||
.extern_sids_count = ITS_EXT_ROT_SRV_COUNT,
|
|
||||||
.irq_mapper = NULL,
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
.partition_id = PSA_F_ID,
|
.partition_id = PSA_F_ID,
|
||||||
.thread_id = 0,
|
.thread_id = 0,
|
||||||
|
@ -65,6 +54,17 @@ spm_partition_t g_partitions[3] = {
|
||||||
.extern_sids_count = PSA_F_EXT_ROT_SRV_COUNT,
|
.extern_sids_count = PSA_F_EXT_ROT_SRV_COUNT,
|
||||||
.irq_mapper = NULL,
|
.irq_mapper = NULL,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
.partition_id = ITS_ID,
|
||||||
|
.thread_id = 0,
|
||||||
|
.flags_rot_srv = ITS_WAIT_ANY_SID_MSK,
|
||||||
|
.flags_interrupts = 0,
|
||||||
|
.rot_services = NULL,
|
||||||
|
.rot_services_count = ITS_ROT_SRV_COUNT,
|
||||||
|
.extern_sids = NULL,
|
||||||
|
.extern_sids_count = ITS_EXT_ROT_SRV_COUNT,
|
||||||
|
.irq_mapper = NULL,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Check all the defined memory regions for overlapping. */
|
/* Check all the defined memory regions for overlapping. */
|
||||||
|
@ -76,8 +76,8 @@ const uint32_t mem_region_count = 0;
|
||||||
|
|
||||||
// forward declaration of partition initializers
|
// forward declaration of partition initializers
|
||||||
void test_its_reset_init(spm_partition_t *partition);
|
void test_its_reset_init(spm_partition_t *partition);
|
||||||
void its_init(spm_partition_t *partition);
|
|
||||||
void psa_f_init(spm_partition_t *partition);
|
void psa_f_init(spm_partition_t *partition);
|
||||||
|
void its_init(spm_partition_t *partition);
|
||||||
|
|
||||||
uint32_t init_partitions(spm_partition_t **partitions)
|
uint32_t init_partitions(spm_partition_t **partitions)
|
||||||
{
|
{
|
||||||
|
@ -86,8 +86,8 @@ uint32_t init_partitions(spm_partition_t **partitions)
|
||||||
}
|
}
|
||||||
|
|
||||||
test_its_reset_init(&(g_partitions[0]));
|
test_its_reset_init(&(g_partitions[0]));
|
||||||
its_init(&(g_partitions[1]));
|
psa_f_init(&(g_partitions[1]));
|
||||||
psa_f_init(&(g_partitions[2]));
|
its_init(&(g_partitions[2]));
|
||||||
|
|
||||||
*partitions = g_partitions;
|
*partitions = g_partitions;
|
||||||
return 3;
|
return 3;
|
||||||
|
|
|
@ -28,8 +28,8 @@
|
||||||
#include "handles_manager.h"
|
#include "handles_manager.h"
|
||||||
#include "cmsis.h"
|
#include "cmsis.h"
|
||||||
#include "psa_test_its_reset_partition.h"
|
#include "psa_test_its_reset_partition.h"
|
||||||
#include "psa_its_partition.h"
|
|
||||||
#include "psa_psa_f_partition.h"
|
#include "psa_psa_f_partition.h"
|
||||||
|
#include "psa_its_partition.h"
|
||||||
|
|
||||||
extern const uint32_t psa_f_external_sids[4];
|
extern const uint32_t psa_f_external_sids[4];
|
||||||
|
|
||||||
|
@ -45,17 +45,6 @@ spm_partition_t g_partitions[3] = {
|
||||||
.extern_sids_count = TEST_ITS_RESET_EXT_ROT_SRV_COUNT,
|
.extern_sids_count = TEST_ITS_RESET_EXT_ROT_SRV_COUNT,
|
||||||
.irq_mapper = NULL,
|
.irq_mapper = NULL,
|
||||||
},
|
},
|
||||||
{
|
|
||||||
.partition_id = ITS_ID,
|
|
||||||
.thread_id = 0,
|
|
||||||
.flags_rot_srv = ITS_WAIT_ANY_SID_MSK,
|
|
||||||
.flags_interrupts = 0,
|
|
||||||
.rot_services = NULL,
|
|
||||||
.rot_services_count = ITS_ROT_SRV_COUNT,
|
|
||||||
.extern_sids = NULL,
|
|
||||||
.extern_sids_count = ITS_EXT_ROT_SRV_COUNT,
|
|
||||||
.irq_mapper = NULL,
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
.partition_id = PSA_F_ID,
|
.partition_id = PSA_F_ID,
|
||||||
.thread_id = 0,
|
.thread_id = 0,
|
||||||
|
@ -67,6 +56,17 @@ spm_partition_t g_partitions[3] = {
|
||||||
.extern_sids_count = PSA_F_EXT_ROT_SRV_COUNT,
|
.extern_sids_count = PSA_F_EXT_ROT_SRV_COUNT,
|
||||||
.irq_mapper = NULL,
|
.irq_mapper = NULL,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
.partition_id = ITS_ID,
|
||||||
|
.thread_id = 0,
|
||||||
|
.flags_rot_srv = ITS_WAIT_ANY_SID_MSK,
|
||||||
|
.flags_interrupts = 0,
|
||||||
|
.rot_services = NULL,
|
||||||
|
.rot_services_count = ITS_ROT_SRV_COUNT,
|
||||||
|
.extern_sids = NULL,
|
||||||
|
.extern_sids_count = ITS_EXT_ROT_SRV_COUNT,
|
||||||
|
.irq_mapper = NULL,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Check all the defined memory regions for overlapping. */
|
/* Check all the defined memory regions for overlapping. */
|
||||||
|
@ -78,8 +78,8 @@ const uint32_t mem_region_count = 0;
|
||||||
|
|
||||||
// forward declaration of partition initializers
|
// forward declaration of partition initializers
|
||||||
void test_its_reset_init(spm_partition_t *partition);
|
void test_its_reset_init(spm_partition_t *partition);
|
||||||
void its_init(spm_partition_t *partition);
|
|
||||||
void psa_f_init(spm_partition_t *partition);
|
void psa_f_init(spm_partition_t *partition);
|
||||||
|
void its_init(spm_partition_t *partition);
|
||||||
|
|
||||||
uint32_t init_partitions(spm_partition_t **partitions)
|
uint32_t init_partitions(spm_partition_t **partitions)
|
||||||
{
|
{
|
||||||
|
@ -88,8 +88,8 @@ uint32_t init_partitions(spm_partition_t **partitions)
|
||||||
}
|
}
|
||||||
|
|
||||||
test_its_reset_init(&(g_partitions[0]));
|
test_its_reset_init(&(g_partitions[0]));
|
||||||
its_init(&(g_partitions[1]));
|
psa_f_init(&(g_partitions[1]));
|
||||||
psa_f_init(&(g_partitions[2]));
|
its_init(&(g_partitions[2]));
|
||||||
|
|
||||||
*partitions = g_partitions;
|
*partitions = g_partitions;
|
||||||
return 3;
|
return 3;
|
||||||
|
|
|
@ -28,8 +28,8 @@
|
||||||
#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_its_partition.h"
|
|
||||||
#include "psa_psa_f_partition.h"
|
#include "psa_psa_f_partition.h"
|
||||||
|
#include "psa_its_partition.h"
|
||||||
|
|
||||||
extern const uint32_t psa_f_external_sids[4];
|
extern const uint32_t psa_f_external_sids[4];
|
||||||
|
|
||||||
|
@ -45,17 +45,6 @@ spm_partition_t g_partitions[3] = {
|
||||||
.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 = ITS_ID,
|
|
||||||
.thread_id = 0,
|
|
||||||
.flags_rot_srv = ITS_WAIT_ANY_SID_MSK,
|
|
||||||
.flags_interrupts = 0,
|
|
||||||
.rot_services = NULL,
|
|
||||||
.rot_services_count = ITS_ROT_SRV_COUNT,
|
|
||||||
.extern_sids = NULL,
|
|
||||||
.extern_sids_count = ITS_EXT_ROT_SRV_COUNT,
|
|
||||||
.irq_mapper = NULL,
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
.partition_id = PSA_F_ID,
|
.partition_id = PSA_F_ID,
|
||||||
.thread_id = 0,
|
.thread_id = 0,
|
||||||
|
@ -67,6 +56,17 @@ spm_partition_t g_partitions[3] = {
|
||||||
.extern_sids_count = PSA_F_EXT_ROT_SRV_COUNT,
|
.extern_sids_count = PSA_F_EXT_ROT_SRV_COUNT,
|
||||||
.irq_mapper = NULL,
|
.irq_mapper = NULL,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
.partition_id = ITS_ID,
|
||||||
|
.thread_id = 0,
|
||||||
|
.flags_rot_srv = ITS_WAIT_ANY_SID_MSK,
|
||||||
|
.flags_interrupts = 0,
|
||||||
|
.rot_services = NULL,
|
||||||
|
.rot_services_count = ITS_ROT_SRV_COUNT,
|
||||||
|
.extern_sids = NULL,
|
||||||
|
.extern_sids_count = ITS_EXT_ROT_SRV_COUNT,
|
||||||
|
.irq_mapper = NULL,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Check all the defined memory regions for overlapping. */
|
/* Check all the defined memory regions for overlapping. */
|
||||||
|
@ -78,8 +78,8 @@ 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 its_init(spm_partition_t *partition);
|
|
||||||
void psa_f_init(spm_partition_t *partition);
|
void psa_f_init(spm_partition_t *partition);
|
||||||
|
void its_init(spm_partition_t *partition);
|
||||||
|
|
||||||
uint32_t init_partitions(spm_partition_t **partitions)
|
uint32_t init_partitions(spm_partition_t **partitions)
|
||||||
{
|
{
|
||||||
|
@ -88,8 +88,8 @@ uint32_t init_partitions(spm_partition_t **partitions)
|
||||||
}
|
}
|
||||||
|
|
||||||
client_tests_part1_init(&(g_partitions[0]));
|
client_tests_part1_init(&(g_partitions[0]));
|
||||||
its_init(&(g_partitions[1]));
|
psa_f_init(&(g_partitions[1]));
|
||||||
psa_f_init(&(g_partitions[2]));
|
its_init(&(g_partitions[2]));
|
||||||
|
|
||||||
*partitions = g_partitions;
|
*partitions = g_partitions;
|
||||||
return 3;
|
return 3;
|
||||||
|
|
|
@ -29,8 +29,8 @@
|
||||||
#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_its_partition.h"
|
|
||||||
#include "psa_psa_f_partition.h"
|
#include "psa_psa_f_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 psa_f_external_sids[4];
|
extern const uint32_t psa_f_external_sids[4];
|
||||||
|
@ -58,17 +58,6 @@ spm_partition_t g_partitions[4] = {
|
||||||
.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 = ITS_ID,
|
|
||||||
.thread_id = 0,
|
|
||||||
.flags_rot_srv = ITS_WAIT_ANY_SID_MSK,
|
|
||||||
.flags_interrupts = 0,
|
|
||||||
.rot_services = NULL,
|
|
||||||
.rot_services_count = ITS_ROT_SRV_COUNT,
|
|
||||||
.extern_sids = NULL,
|
|
||||||
.extern_sids_count = ITS_EXT_ROT_SRV_COUNT,
|
|
||||||
.irq_mapper = NULL,
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
.partition_id = PSA_F_ID,
|
.partition_id = PSA_F_ID,
|
||||||
.thread_id = 0,
|
.thread_id = 0,
|
||||||
|
@ -80,6 +69,17 @@ spm_partition_t g_partitions[4] = {
|
||||||
.extern_sids_count = PSA_F_EXT_ROT_SRV_COUNT,
|
.extern_sids_count = PSA_F_EXT_ROT_SRV_COUNT,
|
||||||
.irq_mapper = NULL,
|
.irq_mapper = NULL,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
.partition_id = ITS_ID,
|
||||||
|
.thread_id = 0,
|
||||||
|
.flags_rot_srv = ITS_WAIT_ANY_SID_MSK,
|
||||||
|
.flags_interrupts = 0,
|
||||||
|
.rot_services = NULL,
|
||||||
|
.rot_services_count = ITS_ROT_SRV_COUNT,
|
||||||
|
.extern_sids = NULL,
|
||||||
|
.extern_sids_count = ITS_EXT_ROT_SRV_COUNT,
|
||||||
|
.irq_mapper = NULL,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Check all the defined memory regions for overlapping. */
|
/* Check all the defined memory regions for overlapping. */
|
||||||
|
@ -92,8 +92,8 @@ 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 its_init(spm_partition_t *partition);
|
|
||||||
void psa_f_init(spm_partition_t *partition);
|
void psa_f_init(spm_partition_t *partition);
|
||||||
|
void its_init(spm_partition_t *partition);
|
||||||
|
|
||||||
uint32_t init_partitions(spm_partition_t **partitions)
|
uint32_t init_partitions(spm_partition_t **partitions)
|
||||||
{
|
{
|
||||||
|
@ -103,8 +103,8 @@ 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]));
|
||||||
its_init(&(g_partitions[2]));
|
psa_f_init(&(g_partitions[2]));
|
||||||
psa_f_init(&(g_partitions[3]));
|
its_init(&(g_partitions[3]));
|
||||||
|
|
||||||
*partitions = g_partitions;
|
*partitions = g_partitions;
|
||||||
return 4;
|
return 4;
|
||||||
|
|
|
@ -28,8 +28,8 @@
|
||||||
#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_its_partition.h"
|
|
||||||
#include "psa_psa_f_partition.h"
|
#include "psa_psa_f_partition.h"
|
||||||
|
#include "psa_its_partition.h"
|
||||||
|
|
||||||
extern const uint32_t psa_f_external_sids[4];
|
extern const uint32_t psa_f_external_sids[4];
|
||||||
|
|
||||||
|
@ -45,17 +45,6 @@ spm_partition_t g_partitions[3] = {
|
||||||
.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 = ITS_ID,
|
|
||||||
.thread_id = 0,
|
|
||||||
.flags_rot_srv = ITS_WAIT_ANY_SID_MSK,
|
|
||||||
.flags_interrupts = 0,
|
|
||||||
.rot_services = NULL,
|
|
||||||
.rot_services_count = ITS_ROT_SRV_COUNT,
|
|
||||||
.extern_sids = NULL,
|
|
||||||
.extern_sids_count = ITS_EXT_ROT_SRV_COUNT,
|
|
||||||
.irq_mapper = NULL,
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
.partition_id = PSA_F_ID,
|
.partition_id = PSA_F_ID,
|
||||||
.thread_id = 0,
|
.thread_id = 0,
|
||||||
|
@ -67,6 +56,17 @@ spm_partition_t g_partitions[3] = {
|
||||||
.extern_sids_count = PSA_F_EXT_ROT_SRV_COUNT,
|
.extern_sids_count = PSA_F_EXT_ROT_SRV_COUNT,
|
||||||
.irq_mapper = NULL,
|
.irq_mapper = NULL,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
.partition_id = ITS_ID,
|
||||||
|
.thread_id = 0,
|
||||||
|
.flags_rot_srv = ITS_WAIT_ANY_SID_MSK,
|
||||||
|
.flags_interrupts = 0,
|
||||||
|
.rot_services = NULL,
|
||||||
|
.rot_services_count = ITS_ROT_SRV_COUNT,
|
||||||
|
.extern_sids = NULL,
|
||||||
|
.extern_sids_count = ITS_EXT_ROT_SRV_COUNT,
|
||||||
|
.irq_mapper = NULL,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Check all the defined memory regions for overlapping. */
|
/* Check all the defined memory regions for overlapping. */
|
||||||
|
@ -78,8 +78,8 @@ 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 its_init(spm_partition_t *partition);
|
|
||||||
void psa_f_init(spm_partition_t *partition);
|
void psa_f_init(spm_partition_t *partition);
|
||||||
|
void its_init(spm_partition_t *partition);
|
||||||
|
|
||||||
uint32_t init_partitions(spm_partition_t **partitions)
|
uint32_t init_partitions(spm_partition_t **partitions)
|
||||||
{
|
{
|
||||||
|
@ -88,8 +88,8 @@ uint32_t init_partitions(spm_partition_t **partitions)
|
||||||
}
|
}
|
||||||
|
|
||||||
smoke_test_part1_init(&(g_partitions[0]));
|
smoke_test_part1_init(&(g_partitions[0]));
|
||||||
its_init(&(g_partitions[1]));
|
psa_f_init(&(g_partitions[1]));
|
||||||
psa_f_init(&(g_partitions[2]));
|
its_init(&(g_partitions[2]));
|
||||||
|
|
||||||
*partitions = g_partitions;
|
*partitions = g_partitions;
|
||||||
return 3;
|
return 3;
|
||||||
|
|
|
@ -27,24 +27,13 @@
|
||||||
#include "spm_internal.h"
|
#include "spm_internal.h"
|
||||||
#include "handles_manager.h"
|
#include "handles_manager.h"
|
||||||
#include "cmsis.h"
|
#include "cmsis.h"
|
||||||
#include "psa_its_partition.h"
|
|
||||||
#include "psa_psa_f_partition.h"
|
#include "psa_psa_f_partition.h"
|
||||||
|
#include "psa_its_partition.h"
|
||||||
|
|
||||||
extern const uint32_t psa_f_external_sids[4];
|
extern const uint32_t psa_f_external_sids[4];
|
||||||
|
|
||||||
__attribute__((weak))
|
__attribute__((weak))
|
||||||
spm_partition_t g_partitions[2] = {
|
spm_partition_t g_partitions[2] = {
|
||||||
{
|
|
||||||
.partition_id = ITS_ID,
|
|
||||||
.thread_id = 0,
|
|
||||||
.flags_rot_srv = ITS_WAIT_ANY_SID_MSK,
|
|
||||||
.flags_interrupts = 0,
|
|
||||||
.rot_services = NULL,
|
|
||||||
.rot_services_count = ITS_ROT_SRV_COUNT,
|
|
||||||
.extern_sids = NULL,
|
|
||||||
.extern_sids_count = ITS_EXT_ROT_SRV_COUNT,
|
|
||||||
.irq_mapper = NULL,
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
.partition_id = PSA_F_ID,
|
.partition_id = PSA_F_ID,
|
||||||
.thread_id = 0,
|
.thread_id = 0,
|
||||||
|
@ -56,6 +45,17 @@ spm_partition_t g_partitions[2] = {
|
||||||
.extern_sids_count = PSA_F_EXT_ROT_SRV_COUNT,
|
.extern_sids_count = PSA_F_EXT_ROT_SRV_COUNT,
|
||||||
.irq_mapper = NULL,
|
.irq_mapper = NULL,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
.partition_id = ITS_ID,
|
||||||
|
.thread_id = 0,
|
||||||
|
.flags_rot_srv = ITS_WAIT_ANY_SID_MSK,
|
||||||
|
.flags_interrupts = 0,
|
||||||
|
.rot_services = NULL,
|
||||||
|
.rot_services_count = ITS_ROT_SRV_COUNT,
|
||||||
|
.extern_sids = NULL,
|
||||||
|
.extern_sids_count = ITS_EXT_ROT_SRV_COUNT,
|
||||||
|
.irq_mapper = NULL,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Check all the defined memory regions for overlapping. */
|
/* Check all the defined memory regions for overlapping. */
|
||||||
|
@ -68,8 +68,8 @@ __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 its_init(spm_partition_t *partition);
|
|
||||||
void psa_f_init(spm_partition_t *partition);
|
void psa_f_init(spm_partition_t *partition);
|
||||||
|
void its_init(spm_partition_t *partition);
|
||||||
|
|
||||||
__attribute__((weak))
|
__attribute__((weak))
|
||||||
uint32_t init_partitions(spm_partition_t **partitions)
|
uint32_t init_partitions(spm_partition_t **partitions)
|
||||||
|
@ -78,8 +78,8 @@ uint32_t init_partitions(spm_partition_t **partitions)
|
||||||
SPM_PANIC("partitions is NULL!\n");
|
SPM_PANIC("partitions is NULL!\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
its_init(&(g_partitions[0]));
|
psa_f_init(&(g_partitions[0]));
|
||||||
psa_f_init(&(g_partitions[1]));
|
its_init(&(g_partitions[1]));
|
||||||
|
|
||||||
*partitions = g_partitions;
|
*partitions = g_partitions;
|
||||||
return 2;
|
return 2;
|
||||||
|
|
|
@ -753,7 +753,7 @@ def generate_psa_code():
|
||||||
generate_partitions_sources(manifest_files)
|
generate_partitions_sources(manifest_files)
|
||||||
|
|
||||||
test_manifest_files = sorted([path for path in manifest_files if 'TESTS' in path])
|
test_manifest_files = sorted([path for path in manifest_files if 'TESTS' in path])
|
||||||
system_manifest_files = list(set(manifest_files) - set(test_manifest_files))
|
system_manifest_files = sorted(list(set(manifest_files) - set(test_manifest_files)))
|
||||||
|
|
||||||
# Generate default system psa setup file (only system partitions)
|
# Generate default system psa setup file (only system partitions)
|
||||||
generate_psa_setup(system_manifest_files, SPM_CORE_ROOT, weak_setup=True)
|
generate_psa_setup(system_manifest_files, SPM_CORE_ROOT, weak_setup=True)
|
||||||
|
@ -767,7 +767,7 @@ def generate_psa_code():
|
||||||
for test_root in spm_tests:
|
for test_root in spm_tests:
|
||||||
tests_dict[test_root] = filter(lambda manifest_path: test_root in manifest_path, test_manifest_files)
|
tests_dict[test_root] = filter(lambda manifest_path: test_root in manifest_path, test_manifest_files)
|
||||||
tests_dict[test_root] += system_manifest_files
|
tests_dict[test_root] += system_manifest_files
|
||||||
generate_psa_setup(tests_dict[test_root], test_root, weak_setup=False)
|
generate_psa_setup(sorted(tests_dict[test_root]), test_root, weak_setup=False)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|
Loading…
Reference in New Issue