plat/arm: don't provide NT_FW_CONFIG when booting hafnium

NT_FW_CONFIG file is meant to be passed from BL31 to be consumed by
BL33, fvp platforms use this to pass measured boot configuration and
the x0 register is used to pass the base address of it.

In case of hafnium used as hypervisor in normal world, hypervisor
manifest is expected to be passed from BL31 and its base address is
passed in x0 register.

As only one of NT_FW_CONFIG or hypervisor manifest base address can be
passed in x0 register and also measured boot is not required for SPM so
disable passing NT_FW_CONFIG.

Signed-off-by: Manish Pandey <manish.pandey2@arm.com>
Change-Id: Ifad9d3658f55ba7d70f468a88997d5272339e53e
This commit is contained in:
Manish Pandey 2021-04-09 16:18:41 +01:00
parent 8078b5c5a0
commit 2b6fc53584
2 changed files with 10 additions and 8 deletions

View File

@ -42,10 +42,12 @@
id = <TOS_FW_CONFIG_ID>;
};
#if !defined(SPD_spmd)
nt_fw-config {
load-address = <0x0 0x80000000>;
max-size = <0x200>;
id = <NT_FW_CONFIG_ID>;
};
#endif
};
};

View File

@ -148,14 +148,6 @@ void __init arm_bl31_early_platform_setup(void *from_bl2, uintptr_t soc_fw_confi
bl33_image_ep_info.spsr = arm_get_spsr_for_bl33_entry();
SET_SECURITY_STATE(bl33_image_ep_info.h.attr, NON_SECURE);
#if defined(SPD_spmd) && !(ARM_LINUX_KERNEL_AS_BL33)
/*
* Hafnium in normal world expects its manifest address in x0, which
* is loaded at base of DRAM.
*/
bl33_image_ep_info.args.arg0 = (u_register_t)ARM_DRAM1_BASE;
#endif
#else /* RESET_TO_BL31 */
/*
@ -206,6 +198,14 @@ void __init arm_bl31_early_platform_setup(void *from_bl2, uintptr_t soc_fw_confi
bl33_image_ep_info.args.arg2 = 0U;
bl33_image_ep_info.args.arg3 = 0U;
# endif
#if defined(SPD_spmd)
/*
* Hafnium in normal world expects its manifest address in x0, In CI
* configuration manifest is preloaded at 0x80000000(start of DRAM).
*/
bl33_image_ep_info.args.arg0 = (u_register_t)ARM_DRAM1_BASE;
#endif
}
void bl31_early_platform_setup2(u_register_t arg0, u_register_t arg1,