cpu.cc (12143:e48005f585f2) cpu.cc (12276:22c220be30c5)
1/*
2 * Copyright (c) 2011-2012, 2014, 2016, 2017 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

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

1026{
1027 thread[tid]->unserialize(cp);
1028}
1029
1030template <class Impl>
1031DrainState
1032FullO3CPU<Impl>::drain()
1033{
1/*
2 * Copyright (c) 2011-2012, 2014, 2016, 2017 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

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

1026{
1027 thread[tid]->unserialize(cp);
1028}
1029
1030template <class Impl>
1031DrainState
1032FullO3CPU<Impl>::drain()
1033{
1034 // Deschedule any power gating event (if any)
1035 deschedulePowerGatingEvent();
1036
1034 // If the CPU isn't doing anything, then return immediately.
1035 if (switchedOut())
1036 return DrainState::Drained;
1037
1038 DPRINTF(Drain, "Draining...\n");
1039
1040 // We only need to signal a drain to the commit stage as this
1041 // initiates squashing controls the draining. Once the commit

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

1181 activateThread(i);
1182 _status = Running;
1183 }
1184 }
1185
1186 assert(!tickEvent.scheduled());
1187 if (_status == Running)
1188 schedule(tickEvent, nextCycle());
1037 // If the CPU isn't doing anything, then return immediately.
1038 if (switchedOut())
1039 return DrainState::Drained;
1040
1041 DPRINTF(Drain, "Draining...\n");
1042
1043 // We only need to signal a drain to the commit stage as this
1044 // initiates squashing controls the draining. Once the commit

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

1184 activateThread(i);
1185 _status = Running;
1186 }
1187 }
1188
1189 assert(!tickEvent.scheduled());
1190 if (_status == Running)
1191 schedule(tickEvent, nextCycle());
1192
1193 // Reschedule any power gating event (if any)
1194 schedulePowerGatingEvent();
1189}
1190
1191template <class Impl>
1192void
1193FullO3CPU<Impl>::switchOut()
1194{
1195 DPRINTF(O3CPU, "Switching out\n");
1196 BaseCPU::switchOut();

--- 623 unchanged lines hidden ---
1195}
1196
1197template <class Impl>
1198void
1199FullO3CPU<Impl>::switchOut()
1200{
1201 DPRINTF(O3CPU, "Switching out\n");
1202 BaseCPU::switchOut();

--- 623 unchanged lines hidden ---