diff options
author | Jens Wiklander <jens.wiklander@linaro.org> | 2021-05-25 18:15:11 +0200 |
---|---|---|
committer | Manish Pandey <manish.pandey2@arm.com> | 2021-11-29 13:57:57 +0100 |
commit | f58237ccd9fd2350730d60ab7de59b5c376bfb35 (patch) | |
tree | ed1ade362e0795d21b6504aa91bf4b2c225a4daa /plat/qemu/common/qemu_spmd_manifest.c | |
parent | d605439900251280719d7584f83950967a532d4d (diff) |
feat(plat/qemu): add SPMD support with SPMC at S-EL1
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
Diffstat (limited to 'plat/qemu/common/qemu_spmd_manifest.c')
-rw-r--r-- | plat/qemu/common/qemu_spmd_manifest.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/plat/qemu/common/qemu_spmd_manifest.c b/plat/qemu/common/qemu_spmd_manifest.c new file mode 100644 index 0000000000..fd46e26756 --- /dev/null +++ b/plat/qemu/common/qemu_spmd_manifest.c @@ -0,0 +1,31 @@ +/* + * 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; +} |