From: Kyle Evans <kev...@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 <kev...@freebsd.org>
Cc: Matthias Brugger <mbrug...@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

Reply via email to