Merge git://git.denx.de/u-boot-imx
[oweals/u-boot.git] / arch / arm / include / asm / setjmp.h
1 /*
2  * (C) Copyright 2017 Theobroma Systems Design und Consulting GmbH
3  * (C) Copyright 2016 Alexander Graf <agraf@suse.de>
4  *
5  * SPDX-License-Identifier:     GPL-2.0+
6  */
7
8 #ifndef _SETJMP_H_
9 #define _SETJMP_H_      1
10
11 /*
12  * This really should be opaque, but the EFI implementation wrongly
13  * assumes that a 'struct jmp_buf_data' is defined.
14  */
15 struct jmp_buf_data {
16 #if defined(__aarch64__)
17         u64  regs[13];
18 #else
19         u32  regs[10];  /* r4-r9, sl, fp, sp, lr */
20 #endif
21 };
22
23 typedef struct jmp_buf_data jmp_buf[1];
24
25 int setjmp(jmp_buf jmp);
26 void longjmp(jmp_buf jmp, int ret);
27
28 #endif /* _SETJMP_H_ */