nova: Remove Ec::cont to make thread switching easier to understand
In the full NOVA hypervisor, Ec::cont was used to implement continuation-style switching of execution contexts. For our simplified version, it is not needed, but it must be understood to correctly use Ec::make_current(), which many students consider confusing. Therefore, we remove Ec::cont and make Ec::make_current() to always jump to Ec::ret_user_sysexit(). As a consequence of Ec::cont removal, this commit also reworks root task initialization and invocation. This also makes the program flow during boot easier to understand. [Code and commit message modified by M. Sojka]
Showing
- hugo/content/docs/cviceni/lab10/_index.md 1 addition, 1 deletionhugo/content/docs/cviceni/lab10/_index.md
- nova/kern/include/ec.h 6 additions, 10 deletionsnova/kern/include/ec.h
- nova/kern/src/ec.cc 5 additions, 8 deletionsnova/kern/src/ec.cc
- nova/kern/src/init.cc 5 additions, 3 deletionsnova/kern/src/init.cc
Loading