summaryrefslogtreecommitdiff
path: root/arch/x86/include/asm/setjmp.h
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2018-06-23 21:47:39 -0400
committerTom Rini <trini@konsulko.com>2018-06-23 21:47:39 -0400
commit90efca253973944d7169932820e0bc6419b8cd7b (patch)
treea7a80923c54aca218d30980a8ed8f607acf489a0 /arch/x86/include/asm/setjmp.h
parent77b5ba5d2b94c5b028991c82782493f64bd4f392 (diff)
parentdd099ec44b5d0a5d2dff537fc5b3b3441a49eec6 (diff)
Merge git://git.denx.de/u-boot-x86
Diffstat (limited to 'arch/x86/include/asm/setjmp.h')
-rw-r--r--arch/x86/include/asm/setjmp.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/arch/x86/include/asm/setjmp.h b/arch/x86/include/asm/setjmp.h
index f25975fe1d..49c36c1cc8 100644
--- a/arch/x86/include/asm/setjmp.h
+++ b/arch/x86/include/asm/setjmp.h
@@ -8,6 +8,21 @@
#ifndef __setjmp_h
#define __setjmp_h
+#ifdef CONFIG_X86_64
+
+struct jmp_buf_data {
+ unsigned long __rip;
+ unsigned long __rsp;
+ unsigned long __rbp;
+ unsigned long __rbx;
+ unsigned long __r12;
+ unsigned long __r13;
+ unsigned long __r14;
+ unsigned long __r15;
+};
+
+#else
+
struct jmp_buf_data {
unsigned int __ebx;
unsigned int __esp;
@@ -17,6 +32,8 @@ struct jmp_buf_data {
unsigned int __eip;
};
+#endif
+
int setjmp(struct jmp_buf_data *jmp_buf);
void longjmp(struct jmp_buf_data *jmp_buf, int val);