Add sim_loop.c implementing sched_sim_driver_run(): decode .replay messages in file order, jump the virtual clock to each ReplayEvent's exact timestamp as it's queued, and run a real push-events/go/drain/ end-session cycle on each ReplaySession boundary (AC 14, AC 18). Task 11.1 left no picker registered against the isolated core and no thread backing its cbufs, which deadlocks the decision drain the moment a real event loop exists. Add plugin_register_core() (registers a picker against a bare xce_sched_core_t*, no xce_scheduler_t* required) and extract builtin_fcfs_new_plugin() from register_builtin_fcfs() as a behavior-preserving factory, plus a picker-driving thread for the sim driver. Since real resource allocation is unreachable without a live xce_scheduler_t* (scheduler-allocation spec's job), the sim picker thread conservatively PENDs every candidate rather than dispatching. 28/28 scheduler suite, 32/32 whole-project tests green. |
||
|---|---|---|
| .. | ||
| settings | ||
| specs | ||
| steering | ||