X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?p=pintos-anon;a=blobdiff_plain;f=src%2Fthreads%2Fswitch.S;h=fddd821afc8ef296fb22d800768e743577be89c5;hp=b00823af50044cd4e2cfb0a1f73fbd5802d18fd5;hb=44d0fa6a2b24a84e5eb0d54959ed91c1d4f15343;hpb=4ba2bcacdde59e70754df916dcee39e45d564441 diff --git a/src/threads/switch.S b/src/threads/switch.S index b00823a..fddd821 100644 --- a/src/threads/switch.S +++ b/src/threads/switch.S @@ -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