summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-at91/include/mach/barebox-arm.h
blob: 4a65c6f8fa55850f3f0bfb08c4d98eb9307874c9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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