
The efi loader code has its own memory map, so it needs to be aware where the spin tables are located, to ensure that no code writes into those regions.
Signed-off-by: Alexander Graf agraf@suse.de --- arch/arm/cpu/armv8/fsl-layerscape/fdt.c | 6 ++++++ 1 file changed, 6 insertions(+)
diff --git a/arch/arm/cpu/armv8/fsl-layerscape/fdt.c b/arch/arm/cpu/armv8/fsl-layerscape/fdt.c index d17227a..91d6374 100644 --- a/arch/arm/cpu/armv8/fsl-layerscape/fdt.c +++ b/arch/arm/cpu/armv8/fsl-layerscape/fdt.c @@ -5,6 +5,7 @@ */
#include <common.h> +#include <efi_loader.h> #include <libfdt.h> #include <fdt_support.h> #include <phy.h> @@ -72,6 +73,11 @@ void ft_fixup_cpu(void *blob)
fdt_add_mem_rsv(blob, (uintptr_t)&secondary_boot_code, *boot_code_size); +#ifdef CONFIG_EFI_LOADER + efi_add_memory_map((uintptr_t)&secondary_boot_code, + ALIGN(*boot_code_size, EFI_PAGE_SIZE) >> EFI_PAGE_SHIFT, + EFI_RESERVED_MEMORY_TYPE, false); +#endif } #endif