Adjust indentation for .globl directives.
[pintos-anon] / src / threads / switch.S
index 5b661ec1f1fd88924704dc95c2238987479dc6ab..c077e46d590202ef5156ab0d9084d1ea28e6afe2 100644 (file)
@@ -1,7 +1,7 @@
 #include "switch.h"
 
-        .globl thread_switch 
-thread_switch:
+.globl switch_threads 
+switch_threads:
        # Save caller's register state.
        # Note that the SVR4 ABI allows us to destroy %eax, %ecx, %edx.
        # This stack frame must match the one set up by thread_create().
@@ -11,7 +11,7 @@ thread_switch:
        pushl %edi
 
        # Get offsetof (struct thread, stack).
-       .globl thread_stack_ofs
+.globl thread_stack_ofs
        mov thread_stack_ofs, %edx
 
        # Save current stack pointer to old thread's stack, if any.
@@ -31,3 +31,17 @@ thread_switch:
        popl %ebp
        popl %ebx
         ret
+
+.globl switch_entry
+switch_entry:
+       # Discard thread_switch() arguments.
+       addl $8, %esp
+
+       # Call schedule_tail(prev).
+       pushl %eax
+.globl schedule_tail
+       call schedule_tail
+       addl $4, %esp
+
+       # Start thread proper.
+       ret