timing.hh (13954:2f400a5f2627) timing.hh (14085:0075b0d29d55)
1/*
2 * Copyright (c) 2012-2013,2015,2018 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

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

345 *
346 * <li>Stay at PC is true.
347 *
348 * <li>A fetch event is scheduled. Normally this would never be the
349 * case with microPC() == 0, but right after a context is
350 * activated it can happen.
351 * </ul>
352 */
1/*
2 * Copyright (c) 2012-2013,2015,2018 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

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

345 *
346 * <li>Stay at PC is true.
347 *
348 * <li>A fetch event is scheduled. Normally this would never be the
349 * case with microPC() == 0, but right after a context is
350 * activated it can happen.
351 * </ul>
352 */
353 bool isDrained() {
353 bool isCpuDrained() const {
354 SimpleExecContext& t_info = *threadInfo[curThread];
355 SimpleThread* thread = t_info.thread;
356
357 return thread->microPC() == 0 && !t_info.stayAtPC &&
358 !fetchEvent.scheduled();
359 }
360
361 /**
362 * Try to complete a drain request.
363 *
364 * @returns true if the CPU is drained, false otherwise.
365 */
366 bool tryCompleteDrain();
367};
368
369#endif // __CPU_SIMPLE_TIMING_HH__
354 SimpleExecContext& t_info = *threadInfo[curThread];
355 SimpleThread* thread = t_info.thread;
356
357 return thread->microPC() == 0 && !t_info.stayAtPC &&
358 !fetchEvent.scheduled();
359 }
360
361 /**
362 * Try to complete a drain request.
363 *
364 * @returns true if the CPU is drained, false otherwise.
365 */
366 bool tryCompleteDrain();
367};
368
369#endif // __CPU_SIMPLE_TIMING_HH__