All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [RFC] Reserve ATF memory on Marvell Armdada 3700/7K/8K
@ 2018-03-31 14:13 Mark Kettenis
  2018-04-03  7:34 ` Matwey V. Kornilov
                   ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: Mark Kettenis @ 2018-03-31 14:13 UTC (permalink / raw)
  To: u-boot

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;
 }

^ permalink raw reply related	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2019-06-13  9:11 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-03-31 14:13 [U-Boot] [RFC] Reserve ATF memory on Marvell Armdada 3700/7K/8K Mark Kettenis
2018-04-03  7:34 ` Matwey V. Kornilov
2018-04-06 10:04 ` Alexander Graf
2018-04-06 10:22 ` Alexander Graf
2019-02-04 16:51   ` Patrick Wildt
2019-02-12  9:38     ` Alexander Graf
2019-02-12 10:31       ` Marcin Wojtas
2019-06-11 11:00         ` [U-Boot] mvebu: reserve SRAM memory on Marvell Armada 3700/7K/8K Patrick Wildt
2019-06-13  5:48           ` Stefan Roese
2019-06-13  6:09             ` Heinrich Schuchardt
2019-06-13  8:23               ` Mark Kettenis
2019-06-13  9:11                 ` Heinrich Schuchardt

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.