[PATCH] raspberrypi: reserve first two pages in efi memory map

kevans at FreeBSD.org kevans at FreeBSD.org
Wed Feb 26 15:03:57 CET 2020


From: Kyle Evans <kevans at FreeBSD.org>

The psci stub provided by Raspberry Pi is around 5k in size, thus residing
in the first two pages of memory. Without this reservation, the next stage
or OS assume they're free to use the second page and may get catastrophic
results from clobbering it.

Signed-off-by: Kyle Evans <kevans at FreeBSD.org>
Cc: Matthias Brugger <mbrugger at suse.com>
---
 board/raspberrypi/rpi/rpi.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/board/raspberrypi/rpi/rpi.c b/board/raspberrypi/rpi/rpi.c
index e367ba3092..d3f9bd16ac 100644
--- a/board/raspberrypi/rpi/rpi.c
+++ b/board/raspberrypi/rpi/rpi.c
@@ -488,8 +488,8 @@ int ft_board_setup(void *blob, bd_t *bd)
 	lcd_dt_simplefb_add_node(blob);
 
 #ifdef CONFIG_EFI_LOADER
-	/* Reserve the spin table */
-	efi_add_memory_map(0, 1, EFI_RESERVED_MEMORY_TYPE, 0);
+	/* Reserve the first two pages for spin table/psci stub. */
+	efi_add_memory_map(0, 2, EFI_RESERVED_MEMORY_TYPE, 0);
 #endif
 
 	return 0;
-- 
2.25.1



More information about the U-Boot mailing list