1*4882a593Smuzhiyun /* 2*4882a593Smuzhiyun * Written by H. Peter Anvin <hpa@zytor.com> 3*4882a593Smuzhiyun * Brought in from Linux v4.4 and modified for U-Boot 4*4882a593Smuzhiyun * From Linux arch/um/sys-i386/setjmp.S 5*4882a593Smuzhiyun * 6*4882a593Smuzhiyun * SPDX-License-Identifier: GPL-2.0 7*4882a593Smuzhiyun */ 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun #ifndef __setjmp_h 10*4882a593Smuzhiyun #define __setjmp_h 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun struct jmp_buf_data { 13*4882a593Smuzhiyun unsigned int __ebx; 14*4882a593Smuzhiyun unsigned int __esp; 15*4882a593Smuzhiyun unsigned int __ebp; 16*4882a593Smuzhiyun unsigned int __esi; 17*4882a593Smuzhiyun unsigned int __edi; 18*4882a593Smuzhiyun unsigned int __eip; 19*4882a593Smuzhiyun }; 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun int setjmp(struct jmp_buf_data *jmp_buf); 22*4882a593Smuzhiyun void longjmp(struct jmp_buf_data *jmp_buf, int val); 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun #endif 25