diff options
author | rsc <rsc> | 2006-07-16 15:40:51 +0000 |
---|---|---|
committer | rsc <rsc> | 2006-07-16 15:40:51 +0000 |
commit | 6b765c480f8c810fc495a32baa696bbeb75adc09 (patch) | |
tree | 514709246dd57b7baa70aa1ae694e5e8f6cf8c77 /swtch.S | |
parent | b53f99d0d2cff21c6c208f5d00bb2cd2c6e39210 (diff) | |
download | xv6-labs-6b765c480f8c810fc495a32baa696bbeb75adc09.tar.gz xv6-labs-6b765c480f8c810fc495a32baa696bbeb75adc09.tar.bz2 xv6-labs-6b765c480f8c810fc495a32baa696bbeb75adc09.zip |
rename swtch.S to setjmp.S
Diffstat (limited to 'swtch.S')
-rw-r--r-- | swtch.S | 37 |
1 files changed, 0 insertions, 37 deletions
diff --git a/swtch.S b/swtch.S deleted file mode 100644 index 7b42dc7..0000000 --- a/swtch.S +++ /dev/null @@ -1,37 +0,0 @@ -.globl setjmp -setjmp: - movl 4(%esp), %eax - - movl %ebx, 0(%eax) - movl %ecx, 4(%eax) - movl %edx, 8(%eax) - movl %esi, 12(%eax) - movl %edi, 16(%eax) - movl %esp, 20(%eax) - movl %ebp, 24(%eax) - pushl 0(%esp) /* %eip */ - popl 28(%eax) - - movl $0, %eax /* return value */ - ret - -.globl longjmp -longjmp: - movl 4(%esp), %eax - - movl 0(%eax), %ebx - movl 4(%eax), %ecx - movl 8(%eax), %edx - movl 12(%eax), %esi - movl 16(%eax), %edi - movl 20(%eax), %esp - movl 24(%eax), %ebp - - addl $4, %esp /* pop %eip into thin air */ - pushl 28(%eax) /* push new %eip */ - - movl $1, %eax /* return value (appears to come from setjmp!) */ - ret - - - |