Deleted Added
sdiff udiff text old ( 11151:ca4ea9b5c052 ) new ( 11168:f98eb2da15a4 )
full compact
1/*
2 * Copyright (c) 2011-2013 ARM Limited
3 * Copyright (c) 2013 Advanced Micro Devices, Inc.
4 * All rights reserved
5 *
6 * The license below extends only to copyright in the software and shall
7 * not be construed as granting a license to any other intellectual
8 * property including but not limited to intellectual property relating

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

333 void haltContext(ThreadID tid);
334
335 /** Update The Order In Which We Process Threads. */
336 void updateThreadPriority();
337
338 /** Is the CPU draining? */
339 bool isDraining() const { return drainState() == DrainState::Draining; }
340
341 void serializeThread(CheckpointOut &cp,
342 ThreadID tid) const M5_ATTR_OVERRIDE;
343 void unserializeThread(CheckpointIn &cp, ThreadID tid) M5_ATTR_OVERRIDE;
344
345 public:
346 /** Executes a syscall.
347 * @todo: Determine if this needs to be virtual.
348 */
349 void syscall(int64_t callnum, ThreadID tid);
350
351 /** Starts draining the CPU's pipeline of all instructions in
352 * order to stop all memory accesses. */
353 DrainState drain() M5_ATTR_OVERRIDE;
354
355 /** Resumes execution after a drain. */
356 void drainResume() M5_ATTR_OVERRIDE;
357
358 /**
359 * Commit has reached a safe point to drain a thread.
360 *
361 * Commit calls this method to inform the pipeline that it has
362 * reached a point where it is not executed microcode and is about
363 * to squash uncommitted instructions to fully drain the pipeline.
364 */

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

635
636 /** Changes a stage's status to inactive within the activity recorder. */
637 void deactivateStage(const StageIdx idx)
638 { activityRec.deactivateStage(idx); }
639
640 /** Wakes the CPU, rescheduling the CPU if it's not already active. */
641 void wakeCPU();
642
643 virtual void wakeup(ThreadID tid) M5_ATTR_OVERRIDE;
644
645 /** Gets a free thread id. Use if thread ids change across system. */
646 ThreadID getFreeTid();
647
648 public:
649 /** Returns a pointer to a thread context. */
650 ThreadContext *
651 tcBase(ThreadID tid)

--- 91 unchanged lines hidden ---