]> git.ipfire.org Git - people/ms/u-boot.git/blob - arch/arm/include/asm/setjmp.h
Merge git://git.denx.de/u-boot-mmc
[people/ms/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_ */