summaryrefslogtreecommitdiff
path: root/arch/x86/include/asm
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2016-10-17 20:29:07 -0600
committerBin Meng <bmeng.cn@gmail.com>2016-10-18 15:58:50 +0800
commitf822403f0164be74a5161b65698d0f01f4556234 (patch)
treeaccf57d30c4d04ae6daa0278f1d4358949dcba1f /arch/x86/include/asm
parent2b445e4d31940d512b3257f7398b794be710b8a9 (diff)
downloadu-boot-imx-f822403f0164be74a5161b65698d0f01f4556234.zip
u-boot-imx-f822403f0164be74a5161b65698d0f01f4556234.tar.gz
u-boot-imx-f822403f0164be74a5161b65698d0f01f4556234.tar.bz2
x86: Add implementations of setjmp() and longjmp()
Bring in these functions from Linux v4.4. They will be needed for EFI loader support. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Diffstat (limited to 'arch/x86/include/asm')
-rw-r--r--arch/x86/include/asm/setjmp.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/arch/x86/include/asm/setjmp.h b/arch/x86/include/asm/setjmp.h
new file mode 100644
index 0000000..1feaa89
--- /dev/null
+++ b/arch/x86/include/asm/setjmp.h
@@ -0,0 +1,24 @@
+/*
+ * Written by H. Peter Anvin <hpa@zytor.com>
+ * Brought in from Linux v4.4 and modified for U-Boot
+ * From Linux arch/um/sys-i386/setjmp.S
+ *
+ * SPDX-License-Identifier: GPL-2.0
+ */
+
+#ifndef __setjmp_h
+#define __setjmp_h
+
+struct jmp_buf_data {
+ unsigned int __ebx;
+ unsigned int __esp;
+ unsigned int __ebp;
+ unsigned int __esi;
+ unsigned int __edi;
+ unsigned int __eip;
+};
+
+int setjmp(struct jmp_buf_data *jmp_buf);
+void longjmp(struct jmp_buf_data *jmp_buf, int val);
+
+#endif