Make userspace actually work.
[pintos-anon] / src / threads / switch.S
index b00823af50044cd4e2cfb0a1f73fbd5802d18fd5..fddd821afc8ef296fb22d800768e743577be89c5 100644 (file)
@@ -32,7 +32,16 @@ switch_threads:
        popl %ebx
         ret
 
-       .globl switch_thunk
-switch_thunk:
+       .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