aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ar100/macros.S
diff options
context:
space:
mode:
Diffstat (limited to 'lib/ar100/macros.S')
-rw-r--r--lib/ar100/macros.S38
1 files changed, 38 insertions, 0 deletions
diff --git a/lib/ar100/macros.S b/lib/ar100/macros.S
new file mode 100644
index 00000000..734ac0ea
--- /dev/null
+++ b/lib/ar100/macros.S
@@ -0,0 +1,38 @@
+/*
+ * Copyright © 2013-2017, ARM Limited and Contributors. All rights reserved.
+ * Copyright © 2017-2020 The Crust Firmware Authors.
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#ifndef MACROS_S
+#define MACROS_S
+
+ /* This macro marks a global data declaration. */
+ .macro data name
+ .section .data.\name, "aw", @progbits
+ .global \name
+ .type \name, %object
+ .align 4
+\name:
+ .endm
+
+ /* This macro marks the beginning of a function. */
+ .macro func name
+ .section .text.\name, "ax", @progbits
+ .global \name
+ .type \name, %function
+ .func \name
+ .cfi_sections .debug_frame
+ .cfi_startproc
+ .align 4
+\name:
+ .endm
+
+ /* This macro marks the end of a function. */
+ .macro endfunc name
+ .cfi_endproc
+ .endfunc
+ .size \name, . - \name
+ .endm
+
+#endif /* MACROS_S */