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 --- 195 unchanged lines hidden (view full) --- 204 // If a process is running, schedule it/us to run again. 205 if (_current) 206 readyListMethods.pushFirst(_current); 207 // Schedule p to run first. 208 readyListMethods.pushFirst(p); 209 yield(); 210 } 211 |
212 // Run this process at the next opportunity. 213 void 214 runNext(Process *p) 215 { 216 // Like above, it's ok if this isn't a method. Putting it on this list 217 // just gives it priority. 218 readyListMethods.pushFirst(p); 219 if (!inEvaluate()) 220 scheduleReadyEvent(); 221 } 222 |
223 // Set an event queue for scheduling events. 224 void setEventQueue(EventQueue *_eq) { eq = _eq; } 225 226 // Get the current time according to gem5. 227 Tick getCurTick() { return eq ? eq->getCurTick() : 0; } 228 229 Tick 230 delayed(const ::sc_core::sc_time &delay) --- 288 unchanged lines hidden --- |