Deleted Added
sdiff udiff text old ( 13133:41d8cd260825 ) new ( 13140:ecd8a58f3884 )
full compact
1/*
2 * Copyright 2018 Google, Inc.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are
6 * met: redistributions of source code must retain the above copyright
7 * notice, this list of conditions and the following disclaimer;
8 * redistributions in binary form must reproduce the above copyright

--- 261 unchanged lines hidden (view full) ---

270 deschedule(ts);
271 timeSlots.erase(tsit);
272 }
273 }
274
275 void
276 completeTimeSlot(TimeSlot *ts)
277 {
278 assert(ts == timeSlots.begin()->second);
279 timeSlots.erase(timeSlots.begin());
280 if (!runToTime && starved())
281 scheduleStarvationEvent();
282 }
283
284 // Pending activity ignores gem5 activity, much like how a systemc
285 // simulation wouldn't know about asynchronous external events (socket IO

--- 36 unchanged lines hidden (view full) ---

322 void oneCycle();
323
324 void schedulePause();
325 void scheduleStop(bool finish_delta);
326
327 bool paused() { return _paused; }
328 bool stopped() { return _stopped; }
329
330 private:
331 typedef const EventBase::Priority Priority;
332 static Priority DefaultPriority = EventBase::Default_Pri;
333
334 static Priority StopPriority = DefaultPriority - 1;
335 static Priority PausePriority = DefaultPriority + 1;
336 static Priority MaxTickPriority = DefaultPriority + 2;
337 static Priority ReadyPriority = DefaultPriority + 3;

--- 45 unchanged lines hidden (view full) ---

383 EventWrapper<Scheduler, &Scheduler::pause> starvationEvent;
384 void scheduleStarvationEvent();
385
386 bool _started;
387 bool _paused;
388 bool _stopped;
389
390 Tick maxTick;
391 EventWrapper<Scheduler, &Scheduler::pause> maxTickEvent;
392
393 uint64_t _numCycles;
394
395 Process *_current;
396
397 bool initDone;
398 bool runToTime;
399 bool runOnce;
400
401 ProcessList initList;

--- 21 unchanged lines hidden ---