mirror of
				https://github.com/smaeul/u-boot.git
				synced 2025-10-25 01:58:13 +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
 |