37 lines
		
	
	
		
			630 B
		
	
	
	
		
			ArmAsm
		
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			630 B
		
	
	
	
		
			ArmAsm
		
	
	
	
/*
 | 
						|
 * (C) Copyright 2016
 | 
						|
 * Cédric Schieli <cschieli@gmail.com>
 | 
						|
 *
 | 
						|
 * SPDX-License-Identifier:	GPL-2.0+
 | 
						|
 */
 | 
						|
 | 
						|
#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
 |