summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-at91/include/mach/barebox-arm.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-at91/include/mach/barebox-arm.h')
-rw-r--r--arch/arm/mach-at91/include/mach/barebox-arm.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/arch/arm/mach-at91/include/mach/barebox-arm.h b/arch/arm/mach-at91/include/mach/barebox-arm.h
new file mode 100644
index 0000000000..4a65c6f8fa
--- /dev/null
+++ b/arch/arm/mach-at91/include/mach/barebox-arm.h
@@ -0,0 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef AT91_BAREBOX_ARM_H_
+#define AT91_BAREBOX_ARM_H_
+
+#include <asm/barebox-arm.h>
+
+#define SAMA5_ENTRY_FUNCTION(name, r4) \
+ void name (u32 r0, u32 r1, u32 r2, u32 r3); \
+ \
+ static void __##name(u32); \
+ \
+ void NAKED __section(.text_head_entry_##name) name \
+ (u32 r0, u32 r1, u32 r2, u32 r3) \
+ { \
+ register u32 r4 asm("r4"); \
+ __barebox_arm_head(); \
+ __##name(r4); \
+ } \
+ static void NAKED noinline __##name \
+ (u32 r4)
+#endif