mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-19 02:54:24 +00:00

Adds support for SPMD with SPMC at S-EL1. A new config option SPMC_OPTEE is added to support loading the special OP-TEE images when configured with SPD=spmd. With or without SPMC_OPTEE. It should still be possible to load another BL32 payload implementing a SPMC, provided that entry point is the same as load address, that is, BL32_BASE. Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Change-Id: Ie61dcd1ee564688baee1b575030e63dc2bb85121
31 lines
741 B
C
31 lines
741 B
C
/*
|
|
* Copyright (c) 2021, ARM Limited and Contributors. All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
|
|
#include <assert.h>
|
|
|
|
#include <services/spm_core_manifest.h>
|
|
|
|
#include <plat/common/platform.h>
|
|
#include <platform_def.h>
|
|
|
|
int plat_spm_core_manifest_load(spmc_manifest_attribute_t *manifest,
|
|
const void *pm_addr)
|
|
{
|
|
entry_point_info_t *ep_info = bl31_plat_get_next_image_ep_info(SECURE);
|
|
|
|
assert(ep_info != NULL);
|
|
assert(manifest != NULL);
|
|
|
|
manifest->major_version = 1;
|
|
manifest->minor_version = 0;
|
|
manifest->exec_state = ep_info->args.arg2;
|
|
manifest->load_address = BL32_BASE;
|
|
manifest->entrypoint = BL32_BASE;
|
|
manifest->binary_size = BL32_LIMIT - BL32_BASE;
|
|
manifest->spmc_id = 0x8000;
|
|
|
|
return 0;
|
|
}
|