[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)
-	/* 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);
 	return 0;

More information about the U-Boot mailing list