mirror of
				https://source.denx.de/u-boot/u-boot.git
				synced 2025-11-04 10:21:25 +01:00 
			
		
		
		
	The fw_dtb_pointer was defined in the assembly code, which makes him live in section .text_rest Put that's not necessary, we can push the variable in the .data section. This will prevent relocation errors like: board/raspberrypi/rpi/rpi.c:317:(.text.board_get_usable_ram_top+0x8): relocation truncated to fit: R_AARCH64_LDST64_ABS_LO12_NC against symbol `fw_dtb_pointer' defined in .text section in board/raspberrypi/rpi/built-in.o Signed-off-by: Matthias Brugger <mbrugger@suse.com>
		
			
				
	
	
		
			28 lines
		
	
	
		
			540 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			540 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
/* SPDX-License-Identifier: GPL-2.0+ */
 | 
						|
/*
 | 
						|
 * (C) Copyright 2016
 | 
						|
 * Cédric Schieli <cschieli@gmail.com>
 | 
						|
 */
 | 
						|
 | 
						|
#include <config.h>
 | 
						|
 | 
						|
/*
 | 
						|
 * Routine: save_boot_params (called after reset from start.S)
 | 
						|
 * Description: save ATAG/FDT address provided by the firmware at boot time
 | 
						|
 */
 | 
						|
 | 
						|
.global save_boot_params
 | 
						|
save_boot_params:
 | 
						|
 | 
						|
	/* The firmware provided ATAG/FDT address can be found in r2/x0 */
 | 
						|
#ifdef CONFIG_ARM64
 | 
						|
	adr	x8, fw_dtb_pointer
 | 
						|
	str	x0, [x8]
 | 
						|
#else
 | 
						|
	ldr	r8, =fw_dtb_pointer
 | 
						|
	str	r2, [r8]
 | 
						|
#endif
 | 
						|
 | 
						|
	/* Returns */
 | 
						|
	b	save_boot_params_ret
 |