coreboot-kgpe-d16/payloads/libpayload/include/arm64/arch/asm.h
Furquan Shaikh 8c8c377584 libpayload: Add support for arm64 in libpayload
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>
2015-01-09 07:04:28 +01:00

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 */