Workaround: Setup register context for BL3-3

This is a temporary solution for issue #20

Signed-off-by: Jon Medhurst <tixy@linaro.org>
This commit is contained in:
Jon Medhurst 2014-02-19 11:29:32 +00:00 committed by Sandrine Bailleux
parent fc73ee91bf
commit 53677b935a
3 changed files with 12 additions and 1 deletions

View File

@ -182,6 +182,14 @@ void bl31_prepare_next_image_entry()
(MODE_RW_64 << MODE_RW_SHIFT))
scr |= SCR_RW_BIT;
/*
* Setup general purpose registers context for next image.
*/
cpu_context *context = cm_get_context(read_mpidr(),
next_image_info->security_state);
memcpy(&context->gpregs_ctx, &next_image_info->args,
sizeof(next_image_info->args));
/*
* Tell the context mgmt. library to ensure that SP_EL3 points to
* the right context to exit from EL3 correctly.

View File

@ -108,6 +108,9 @@ void bl31_early_platform_setup(bl31_args *from_bl2,
void *data)
{
bl2_to_bl31_args = *from_bl2;
/* UEFI expects x0 to be primary CPU MPID */
bl2_to_bl31_args.bl33_image_info.args.arg0 = PRIMARY_CPU;
}
/*******************************************************************************

View File

@ -62,7 +62,7 @@
/* Non-Trusted Firmware BL3-3 and its load address */
#define BL33_IMAGE_NAME "bl33.bin" /* e.g. UEFI */
#define NS_IMAGE_OFFSET (DRAM_BASE + 0x8000000) /* DRAM + 128MB */
#define NS_IMAGE_OFFSET 0xE0000000
/* Firmware Image Package */
#define FIP_IMAGE_NAME "fip.bin"