~pmdj/ubuntu/trusty/qemu/2.9+applesmc+fadtv3

« back to all changes in this revision

Viewing changes to roms/ipxe/src/arch/x86_64/include/setjmp.h

  • Committer: Phil Dennis-Jordan
  • Date: 2017-07-21 08:03:43 UTC
  • mfrom: (1.1.1)
  • Revision ID: phil@philjordan.eu-20170721080343-2yr2vdj7713czahv
New upstream release 2.9.0.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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 */