1/* 2 * Copyright (c) 2003-2006 The Regents of The University of Michigan 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 73 unchanged lines hidden (view full) --- 82 void 83 quiesceNs(ThreadContext *tc, uint64_t ns) 84 { 85 if (!doQuiesce || ns == 0) 86 return; 87 88 EndQuiesceEvent *quiesceEvent = tc->getQuiesceEvent(); 89 |
90 Tick resume = curTick + Clock::Int::ns * ns; 91 |
92 if (quiesceEvent->scheduled()) |
93 quiesceEvent->reschedule(resume); |
94 else |
95 quiesceEvent->schedule(resume); |
96 |
97 DPRINTF(Quiesce, "%s: quiesceNs(%d) until %d\n", 98 tc->getCpuPtr()->name(), ns, resume); 99 |
100 tc->suspend(); 101 if (tc->getKernelStats()) 102 tc->getKernelStats()->quiesce(); 103 } 104 105 void 106 quiesceCycles(ThreadContext *tc, uint64_t cycles) 107 { 108 if (!doQuiesce || cycles == 0) 109 return; 110 111 EndQuiesceEvent *quiesceEvent = tc->getQuiesceEvent(); 112 |
113 Tick resume = curTick + tc->getCpuPtr()->cycles(cycles); 114 |
115 if (quiesceEvent->scheduled()) |
116 quiesceEvent->reschedule(resume); |
117 else |
118 quiesceEvent->schedule(resume); |
119 |
120 DPRINTF(Quiesce, "%s: quiesceCycles(%d) until %d\n", 121 tc->getCpuPtr()->name(), cycles, resume); 122 |
123 tc->suspend(); 124 if (tc->getKernelStats()) 125 tc->getKernelStats()->quiesce(); 126 } 127 128 uint64_t 129 quiesceTime(ThreadContext *tc) 130 { --- 229 unchanged lines hidden --- |