[U-Boot] [RFC] Reserve ATF memory on Marvell Armdada 3700/7K/8K
Matwey V. Kornilov
matwey.kornilov at gmail.com
Tue Apr 3 07:34:40 UTC 2018
Hello,
I think I suffered from random kernel crashed due to this issue. Could
you please also submit this patch to downstream Marvell u-boot at github PR?
31.03.2018 17:13, Mark Kettenis пишет:
> Currently U-Boot doesn't make any effort to reserve the memory used by
> ARM Trusted Firmware on these platforms. The result is that the
> memory is listed as available in the EFI memory map. And as soon as a
> loaded kernel tries to use this memory things explode. I've seen this
> with the OpenBSD kernel. But I totally expect a Linux kernel to
> suffer the same fate.
>
> I'm currently using the diff below, but it is not entirely clear to me
> if arch_early_init_r() is the appropriate place to do this. I'm also
> wondering whether the block should also be marked as reserved in the
> FDT using fdt_add_mem_rsv(). If the latter is required this probably
> needs to be done by ft_board_setup() or ft_system_setup().
>
> The address and size of the region have been taken from Marvell's ATF
> fork at
>
> https://github.com/MarvellEmbeddedProcessors/atf-marvell
>
> The memory layout is defined in
>
> plat/marvell/a8k/common/include/platform_def.h
>
> where there are lots of defines and a diagram that attempt to describe
> the memory. It is not entirely obvious to me what part needs to be
> reserved. But 0x0400000-0x04200000 works.
>
>
>
>
> diff --git a/arch/arm/mach-mvebu/arm64-common.c b/arch/arm/mach-mvebu/arm64-common.c
> index 3c84043a2c..895cd2852f 100644
> --- a/arch/arm/mach-mvebu/arm64-common.c
> +++ b/arch/arm/mach-mvebu/arm64-common.c
> @@ -95,5 +95,11 @@ int arch_early_init_r(void)
> pci_init();
> #endif
>
> +#ifdef CONFIG_EFI_LOADER
> + /* Reserve trusted SRAM section */
> + efi_add_memory_map(0x04000000, 0x00200000 >> EFI_PAGE_SHIFT,
> + EFI_RESERVED_MEMORY_TYPE, false);
> +#endif
> +
> return 0;
> }
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> https://lists.denx.de/listinfo/u-boot
>
More information about the U-Boot
mailing list