aboutsummaryrefslogtreecommitdiff
path: root/arch/x86
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2022-10-29 18:51:22 -0400
committerTom Rini <trini@konsulko.com>2022-10-29 18:51:22 -0400
commit6f02819cceb19c334f1dbd6eccefb4ccfae319f9 (patch)
treeada26fe279934fbb18d69324010b3ce1f55ffb63 /arch/x86
parentfb63362c63c7aeacb1dfde330ee8f692da7972f9 (diff)
parentf21954750aa8ed445ab83998bb099e366136c428 (diff)
downloadu-boot-6f02819cceb19c334f1dbd6eccefb4ccfae319f9.zip
u-boot-6f02819cceb19c334f1dbd6eccefb4ccfae319f9.tar.gz
u-boot-6f02819cceb19c334f1dbd6eccefb4ccfae319f9.tar.bz2
Merge tag 'dm-pull-29oct22' of https://source.denx.de/u-boot/custodians/u-boot-dmWIP/29Oct2022
Fix pylibfdt warnings and use setuptools to build Various minor changes to core dm and sandbox
Diffstat (limited to 'arch/x86')
-rw-r--r--arch/x86/cpu/i386/setjmp.S5
-rw-r--r--arch/x86/include/asm/setjmp.h6
2 files changed, 9 insertions, 2 deletions
diff --git a/arch/x86/cpu/i386/setjmp.S b/arch/x86/cpu/i386/setjmp.S
index 40b10dc..eceeafa 100644
--- a/arch/x86/cpu/i386/setjmp.S
+++ b/arch/x86/cpu/i386/setjmp.S
@@ -49,12 +49,17 @@ longjmp:
xchgl %eax, %edx
#else
movl 4(%esp), %edx /* jmp_ptr address */
+ movl 8(%esp), %eax /* Return value */
#endif
movl (%edx), %ebx
movl 4(%edx), %esp
movl 8(%edx), %ebp
movl 12(%edx), %esi
movl 16(%edx), %edi
+ test %eax, %eax
+ jnz nz
+ inc %eax
+nz:
jmp *20(%edx)
.size longjmp, .-longjmp
diff --git a/arch/x86/include/asm/setjmp.h b/arch/x86/include/asm/setjmp.h
index 49c36c1..15915d0 100644
--- a/arch/x86/include/asm/setjmp.h
+++ b/arch/x86/include/asm/setjmp.h
@@ -34,7 +34,9 @@ struct jmp_buf_data {
#endif
-int setjmp(struct jmp_buf_data *jmp_buf);
-void longjmp(struct jmp_buf_data *jmp_buf, int val);
+typedef struct jmp_buf_data jmp_buf[1];
+
+int setjmp(jmp_buf env);
+void longjmp(jmp_buf env, int val);
#endif