pseudo_inst.cc (4090:08bd6439b907) pseudo_inst.cc (4437:b6e304245729)
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 {
83 if (!tc->getCpuPtr()->params->do_quiesce || ns == 0)
84 return;
85
86 EndQuiesceEvent *quiesceEvent = tc->getQuiesceEvent();
87
88 Tick resume = curTick + Clock::Int::ns * ns;
89
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 {
83 if (!tc->getCpuPtr()->params->do_quiesce || ns == 0)
84 return;
85
86 EndQuiesceEvent *quiesceEvent = tc->getQuiesceEvent();
87
88 Tick resume = curTick + Clock::Int::ns * ns;
89
90 if (quiesceEvent->scheduled())
91 quiesceEvent->reschedule(resume);
92 else
93 quiesceEvent->schedule(resume);
90 quiesceEvent->reschedule(resume, true);
94
95 DPRINTF(Quiesce, "%s: quiesceNs(%d) until %d\n",
96 tc->getCpuPtr()->name(), ns, resume);
97
98 tc->suspend();
99 if (tc->getKernelStats())
100 tc->getKernelStats()->quiesce();
101 }
102
103 void
104 quiesceCycles(ThreadContext *tc, uint64_t cycles)
105 {
106 if (!tc->getCpuPtr()->params->do_quiesce || cycles == 0)
107 return;
108
109 EndQuiesceEvent *quiesceEvent = tc->getQuiesceEvent();
110
111 Tick resume = curTick + tc->getCpuPtr()->cycles(cycles);
112
91
92 DPRINTF(Quiesce, "%s: quiesceNs(%d) until %d\n",
93 tc->getCpuPtr()->name(), ns, resume);
94
95 tc->suspend();
96 if (tc->getKernelStats())
97 tc->getKernelStats()->quiesce();
98 }
99
100 void
101 quiesceCycles(ThreadContext *tc, uint64_t cycles)
102 {
103 if (!tc->getCpuPtr()->params->do_quiesce || cycles == 0)
104 return;
105
106 EndQuiesceEvent *quiesceEvent = tc->getQuiesceEvent();
107
108 Tick resume = curTick + tc->getCpuPtr()->cycles(cycles);
109
113 if (quiesceEvent->scheduled())
114 quiesceEvent->reschedule(resume);
115 else
116 quiesceEvent->schedule(resume);
110 quiesceEvent->reschedule(resume, true);
117
118 DPRINTF(Quiesce, "%s: quiesceCycles(%d) until %d\n",
119 tc->getCpuPtr()->name(), cycles, resume);
120
121 tc->suspend();
122 if (tc->getKernelStats())
123 tc->getKernelStats()->quiesce();
124 }

--- 191 unchanged lines hidden ---
111
112 DPRINTF(Quiesce, "%s: quiesceCycles(%d) until %d\n",
113 tc->getCpuPtr()->name(), cycles, resume);
114
115 tc->suspend();
116 if (tc->getKernelStats())
117 tc->getKernelStats()->quiesce();
118 }

--- 191 unchanged lines hidden ---