36c36,37
< Kernel::Kernel(Params *params) : SimObject(params), t0Event(this) {}
---
> Kernel::Kernel(Params *params) :
> SimObject(params), t0Event(this, false, EventBase::Default_Pri - 1) {}
41a43,46
> // Install ourselves as the scheduler's event manager.
> ::sc_gem5::scheduler.setEventQueue(eventQueue());
> // Run update once before the event queue starts.
> ::sc_gem5::scheduler.update();
47c52,59
< ::sc_gem5::scheduler.initialize();
---
> // Now that the event queue has started, mark all the processes that
> // need to be initialized as ready to run.
> //
> // This event has greater priority than delta notifications and so will
> // happen before them, honoring the ordering for the initialization phase
> // in the spec. The delta phase will happen at normal priority, and then
> // the event which runs the processes which is at a lower priority.
> ::sc_gem5::scheduler.initToReady();