diff options
Diffstat (limited to 'swtch.S')
-rw-r--r-- | swtch.S | 29 |
1 files changed, 0 insertions, 29 deletions
diff --git a/swtch.S b/swtch.S deleted file mode 100644 index 63a7dcc..0000000 --- a/swtch.S +++ /dev/null @@ -1,29 +0,0 @@ -# Context switch -# -# void swtch(struct context **old, struct context *new); -# -# Save the current registers on the stack, creating -# a struct context, and save its address in *old. -# Switch stacks to new and pop previously-saved registers. - -.globl swtch -swtch: - movl 4(%esp), %eax - movl 8(%esp), %edx - - # Save old callee-saved registers - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - - # Switch stacks - movl %esp, (%eax) - movl %edx, %esp - - # Load new callee-saved registers - popl %edi - popl %esi - popl %ebx - popl %ebp - ret |