8c8c377584
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>
29 lines
437 B
C
29 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 */
|