These changes are the raw update to qemu-2.6.
[kvmfornfv.git] / qemu / roms / ipxe / src / arch / x86_64 / include / setjmp.h
1 #ifndef _SETJMP_H
2 #define _SETJMP_H
3
4 FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
5
6 #include <stdint.h>
7
8 /** A jump buffer */
9 typedef struct {
10         /** Saved return address */
11         uint64_t retaddr;
12         /** Saved stack pointer */
13         uint64_t stack;
14         /** Saved %rbx */
15         uint64_t rbx;
16         /** Saved %rbp */
17         uint64_t rbp;
18         /** Saved %r12 */
19         uint64_t r12;
20         /** Saved %r13 */
21         uint64_t r13;
22         /** Saved %r14 */
23         uint64_t r14;
24         /** Saved %r15 */
25         uint64_t r15;
26 } jmp_buf[1];
27
28 extern int __asmcall __attribute__ (( returns_twice ))
29 setjmp ( jmp_buf env );
30
31 extern void __asmcall __attribute__ (( noreturn ))
32 longjmp ( jmp_buf env, int val );
33
34 #endif /* _SETJMP_H */