36 lines
		
	
	
		
			630 B
		
	
	
	
		
			ArmAsm
		
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			630 B
		
	
	
	
		
			ArmAsm
		
	
	
	
| /* SPDX-License-Identifier: GPL-2.0+ */
 | |
| /*
 | |
|  * (C) Copyright 2016
 | |
|  * Cédric Schieli <cschieli@gmail.com>
 | |
|  */
 | |
| 
 | |
| #include <config.h>
 | |
| 
 | |
| .align 8
 | |
| .global fw_dtb_pointer
 | |
| fw_dtb_pointer:
 | |
| #ifdef CONFIG_ARM64
 | |
| 	.dword 0x0
 | |
| #else
 | |
| 	.word 0x0
 | |
| #endif
 | |
| 
 | |
| /*
 | |
|  * 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
 | |
| 	str	r2, fw_dtb_pointer
 | |
| #endif
 | |
| 
 | |
| 	/* Returns */
 | |
| 	b	save_boot_params_ret
 |