Basic support for arm64 is enabled in libpayload. Features added: 1) mem* operations in assembly. 2) Basic exception handling and support for testing exceptions. 3) Caching support. Tested with arm64-generic board compilation. BUG=None BRANCH=None TEST=Compilation successful Original-Change-Id: I4e86301f9c6383abc078e2b70071fb84bd6e4741 Original-Signed-off-by: Furquan Shaikh <furquan@google.com> Original-Reviewed-on: https://chromium-review.googlesource.com/187067 Original-Tested-by: Furquan Shaikh <furquan@chromium.org> Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org> Original-Commit-Queue: Furquan Shaikh <furquan@chromium.org> (cherry picked from commit a70d13f3d225535843ab352290eab2e1ec7a9b4b) Signed-off-by: Marc Jones <marc.jones@se-eng.com> Change-Id: Ie3affe6a2bdd4fed3058de739d4c6aa573e5b251 Reviewed-on: http://review.coreboot.org/8063 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org> Reviewed-by: Furquan Shaikh <furquan@google.com>
		
			
				
	
	
		
			30 lines
		
	
	
		
			437 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			437 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * This file is part of the coreboot project.
 | |
|  *
 | |
|  * Copyright 2013 Google Inc.
 | |
|  *
 | |
|  */
 | |
| 
 | |
| #ifndef __ARM64_ASM_H
 | |
| #define __ARM64_ASM_H
 | |
| 
 | |
| #  define ARM64(x...)	x
 | |
| #  define W(instr)	instr
 | |
| 
 | |
| #define ALIGN .align 2
 | |
| 
 | |
| #define ENDPROC(name) \
 | |
| 	.type name, %function; \
 | |
| 	END(name)
 | |
| 
 | |
| #define ENTRY(name) \
 | |
| 	.section .text.name, "ax", %progbits; \
 | |
| 	.global name; \
 | |
| 	ALIGN; \
 | |
| 	name:
 | |
| 
 | |
| #define END(name) \
 | |
| 	.size name, .-name
 | |
| 
 | |
| #endif	/* __ARM64_ASM_H */
 |