Remove the BUILD_INFO_FILE variable
[akaros.git] / kern / arch / x86 / setjmp.h
1 // Arch specific struct definitions for setjmp/longjmp.
2
3 #pragma once
4
5 #include <common.h>
6
7 #ifdef __x86_64__
8 struct jmpbuf {
9         uintptr_t retaddr; // return address
10         uintreg_t rsp;     // post-return rsp
11         uintreg_t rbp;
12 };
13
14 static inline void __ros_clobber_callee_regs(void)
15 {
16         asm volatile ("" : : : "rbx", "r12", "r13", "r14", "r15");
17 }
18
19 #else
20
21 struct jmpbuf {
22         uintptr_t retaddr; // return address
23         uintreg_t esp;     // post-return esp
24         uintreg_t ebp;
25 };
26
27 static inline __ros_clobber_callee_regs(void)
28 {
29         asm volatile ("" : : : "ebx", "esi", "edi");
30 }
31 #endif