cpu.hh (11151:ca4ea9b5c052) | cpu.hh (11168:f98eb2da15a4) |
---|---|
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 | 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; | 341 void serializeThread(CheckpointOut &cp, ThreadID tid) const override; 342 void unserializeThread(CheckpointIn &cp, ThreadID tid) 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. */ | 343 344 public: 345 /** Executes a syscall. 346 * @todo: Determine if this needs to be virtual. 347 */ 348 void syscall(int64_t callnum, ThreadID tid); 349 350 /** Starts draining the CPU's pipeline of all instructions in 351 * order to stop all memory accesses. */ |
353 DrainState drain() M5_ATTR_OVERRIDE; | 352 DrainState drain() override; |
354 355 /** Resumes execution after a drain. */ | 353 354 /** Resumes execution after a drain. */ |
356 void drainResume() M5_ATTR_OVERRIDE; | 355 void drainResume() 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 | 356 357 /** 358 * Commit has reached a safe point to drain a thread. 359 * 360 * Commit calls this method to inform the pipeline that it has 361 * reached a point where it is not executed microcode and is about 362 * to squash uncommitted instructions to fully drain the pipeline. 363 */ --- 270 unchanged lines hidden (view full) --- 634 635 /** Changes a stage's status to inactive within the activity recorder. */ 636 void deactivateStage(const StageIdx idx) 637 { activityRec.deactivateStage(idx); } 638 639 /** Wakes the CPU, rescheduling the CPU if it's not already active. */ 640 void wakeCPU(); 641 |
643 virtual void wakeup(ThreadID tid) M5_ATTR_OVERRIDE; | 642 virtual void wakeup(ThreadID tid) 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 --- | 643 644 /** Gets a free thread id. Use if thread ids change across system. */ 645 ThreadID getFreeTid(); 646 647 public: 648 /** Returns a pointer to a thread context. */ 649 ThreadContext * 650 tcBase(ThreadID tid) --- 91 unchanged lines hidden --- |