arm64: Define stage_entry as weak symbol
This allows SoCs/CPUs to have custom stage_entry in order to apply any fixups that need to run before standard cpu reset procedure. BUG=chrome-os-partner:41877 BRANCH=None TEST=Compiles successfully Change-Id: Iaae7636349140664b19e81b0082017b63b13f45b Signed-off-by: Patrick Georgi <pgeorgi@chromium.org> Original-Commit-Id: 498d04b0e9a3394943f03cad603c30ae8b3805d4 Original-Change-Id: I9a005502d4cfcb76017dcae3a655efc0c8814a93 Original-Signed-off-by: Furquan Shaikh <furquan@google.com> Original-Reviewed-on: https://chromium-review.googlesource.com/284867 Original-Trybot-Ready: Furquan Shaikh <furquan@chromium.org> Original-Tested-by: Furquan Shaikh <furquan@chromium.org> Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org> Original-Commit-Queue: Furquan Shaikh <furquan@chromium.org> Reviewed-on: http://review.coreboot.org/10897 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
This commit is contained in:
		
				
					committed by
					
						
						Patrick Georgi
					
				
			
			
				
	
			
			
			
						parent
						
							8799fde760
						
					
				
				
					commit
					6e1dc0cd60
				
			@@ -41,4 +41,8 @@
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
#define CPU_RESET_ENTRY(name) ENTRY_WITH_ALIGN(name, 6)
 | 
					#define CPU_RESET_ENTRY(name) ENTRY_WITH_ALIGN(name, 6)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define ENTRY_WEAK(name)	\
 | 
				
			||||||
 | 
						ENTRY(name)		\
 | 
				
			||||||
 | 
						.weak name		\
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif	/* __ARM_ARM64_ASM_H */
 | 
					#endif	/* __ARM_ARM64_ASM_H */
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -228,6 +228,12 @@ CPU_RESET_ENTRY(arm64_cpu_startup_resume)
 | 
				
			|||||||
	b	arm64_c_environment
 | 
						b	arm64_c_environment
 | 
				
			||||||
ENDPROC(arm64_cpu_startup_resume)
 | 
					ENDPROC(arm64_cpu_startup_resume)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ENTRY(stage_entry)
 | 
					/*
 | 
				
			||||||
 | 
					 * stage_entry is defined as a weak symbol to allow SoCs/CPUs to define a custom
 | 
				
			||||||
 | 
					 * entry point to perform any fixups that need to be done immediately after
 | 
				
			||||||
 | 
					 * power on reset. In case SoC/CPU does not need any custom-defined entrypoint,
 | 
				
			||||||
 | 
					 * this weak symbol can be used to jump directly to arm64_cpu_startup.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					ENTRY_WEAK(stage_entry)
 | 
				
			||||||
	b	arm64_cpu_startup
 | 
						b	arm64_cpu_startup
 | 
				
			||||||
ENDPROC(stage_entry)
 | 
					ENDPROC(stage_entry)
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user