summaryrefslogtreecommitdiff
path: root/arch/x86/include/asm
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
parent77b5ba5d2b94c5b028991c82782493f64bd4f392 (diff)
parentdd099ec44b5d0a5d2dff537fc5b3b3441a49eec6 (diff)
Merge git://git.denx.de/u-boot-x86
Diffstat (limited to 'arch/x86/include/asm')
-rw-r--r--arch/x86/include/asm/posix_types.h3
-rw-r--r--arch/x86/include/asm/setjmp.h17
2 files changed, 19 insertions, 1 deletions
diff --git a/arch/x86/include/asm/posix_types.h b/arch/x86/include/asm/posix_types.h
index 717f6cb8e0..dbcea7f47f 100644
--- a/arch/x86/include/asm/posix_types.h
+++ b/arch/x86/include/asm/posix_types.h
@@ -16,7 +16,8 @@ typedef int __kernel_pid_t;
typedef unsigned short __kernel_ipc_pid_t;
typedef unsigned short __kernel_uid_t;
typedef unsigned short __kernel_gid_t;
-#if CONFIG_IS_ENABLED(X86_64)
+/* checking against __x86_64__ covers both 64-bit EFI stub and 64-bit U-Boot */
+#if defined(__x86_64__)
typedef unsigned long __kernel_size_t;
typedef long __kernel_ssize_t;
#else
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);