aboutsummaryrefslogtreecommitdiff
path: root/secure_fw/spm/cmsis_psa/spm_ipc.c
diff options
context:
space:
mode:
Diffstat (limited to 'secure_fw/spm/cmsis_psa/spm_ipc.c')
-rw-r--r--secure_fw/spm/cmsis_psa/spm_ipc.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/secure_fw/spm/cmsis_psa/spm_ipc.c b/secure_fw/spm/cmsis_psa/spm_ipc.c
index 3c20fedeaa..65b1bd72f5 100644
--- a/secure_fw/spm/cmsis_psa/spm_ipc.c
+++ b/secure_fw/spm/cmsis_psa/spm_ipc.c
@@ -659,7 +659,6 @@ uint32_t tfm_spm_init(void)
/* Skip NULL checking on statically reserved arraries. */
partition->p_static = &static_data_list[i];
- partition->memory_data = &memory_data_list[i];
if (!(partition->p_static->flags & SPM_PART_FLAG_IPC)) {
tfm_core_panic();
@@ -722,8 +721,9 @@ uint32_t tfm_spm_init(void)
tfm_core_thrd_init(pth,
(tfm_core_thrd_entry_t)partition->p_static->entry,
NULL,
- (uintptr_t)partition->memory_data->stack_top,
- (uintptr_t)partition->memory_data->stack_bottom);
+ (uintptr_t)(partition->p_static->stack_base_addr +
+ partition->p_static->stack_size),
+ (uintptr_t)partition->p_static->stack_base_addr);
pth->prior = partition->p_static->priority;
@@ -819,15 +819,15 @@ void tfm_pendsv_do_schedule(struct tfm_arch_ctx_t *p_actx)
/* FIXME: only MPU-based implementations are supported currently */
#ifdef TFM_FIH_PROFILE_ON
FIH_CALL(tfm_hal_mpu_update_partition_boundary, fih_rc,
- p_next_partition->memory_data->data_start,
- p_next_partition->memory_data->data_limit);
+ p_next_partition->p_static->mems.start,
+ p_next_partition->p_static->mems.limit);
if (fih_not_eq(fih_rc, fih_int_encode(TFM_HAL_SUCCESS))) {
tfm_core_panic();
}
#else /* TFM_FIH_PROFILE_ON */
if (tfm_hal_mpu_update_partition_boundary(
- p_next_partition->memory_data->data_start,
- p_next_partition->memory_data->data_limit)
+ p_next_partition->p_static->mems.start,
+ p_next_partition->p_static->mems.limit)
!= TFM_HAL_SUCCESS) {
tfm_core_panic();
}