[OSy] context switch
Michal Klempa
michal.klempa at gmail.com
Sun Nov 7 20:09:30 CET 2010
Zdravim,
mozno sa spytam teraz uplne mimo, ale predsalen. Nejde mi do hlavy toto:
thread.c (original kalisto):
105 if (old_thread == NULL) {
106 void *dummy_stack_top;
107 switch_cpu_context(&dummy_stack_top, &thread->stack_top);
108 } else
109 switch_cpu_context(&old_thread->stack_top,&thread->stack_top);
Assemblerovska funkcia switch_cpu_context ulozi vsetky registre na
stack_top ktory jej poslem ako parameter, ze jo?
Kam ukazuje dummy_stack_top a kam sa teda ulozia registre ked prepinam
na nejake vlakno prvy krat? (teda ked sa dokonci ta init cast v main.c
a spravi sa prve switch_to_thread na example thread).
D~
Michal Klempa
More information about the NSWI004
mailing list