1 /* SPDX-License-Identifier: GPL-2.0 */
5 # setjmp/longjmp for the i386 architecture
9 # The jmp_buf is assumed to contain the following, in order:
21 .type kernel_setjmp, @function
28 popl %ecx # Return address, and adjust the stack
29 xorl %eax,%eax # Return value
31 movl %esp,4(%edx) # Post-return %esp!
32 pushl %ecx # Make the call/return stack happy
36 movl %ecx,20(%edx) # Return address
39 .size kernel_setjmp,.-kernel_setjmp
44 .type kernel_longjmp, @function
49 movl 4(%esp),%edx # jmp_ptr address
50 movl 8(%esp),%eax # Return value
59 .size kernel_longjmp,.-kernel_longjmp