base.cc (12128:75e1a5bed42e) base.cc (12154:9a9bc3c1b788)
1/*
2 * Copyright (c) 2012, 2015 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

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

353
354DrainState
355BaseKvmCPU::drain()
356{
357 if (switchedOut())
358 return DrainState::Drained;
359
360 DPRINTF(Drain, "BaseKvmCPU::drain\n");
1/*
2 * Copyright (c) 2012, 2015 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

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

353
354DrainState
355BaseKvmCPU::drain()
356{
357 if (switchedOut())
358 return DrainState::Drained;
359
360 DPRINTF(Drain, "BaseKvmCPU::drain\n");
361
362 // The event queue won't be locked when calling drain since that's
363 // not done from an event. Lock the event queue here to make sure
364 // that scoped migrations continue to work if we need to
365 // synchronize the thread context.
366 std::lock_guard<EventQueue> lock(*this->eventQueue());
367
361 switch (_status) {
362 case Running:
363 // The base KVM code is normally ready when it is in the
364 // Running state, but the architecture specific code might be
365 // of a different opinion. This may happen when the CPU been
366 // notified of an event that hasn't been accepted by the vCPU
367 // yet.
368 if (!archIsDrained())

--- 1025 unchanged lines hidden ---
368 switch (_status) {
369 case Running:
370 // The base KVM code is normally ready when it is in the
371 // Running state, but the architecture specific code might be
372 // of a different opinion. This may happen when the CPU been
373 // notified of an event that hasn't been accepted by the vCPU
374 // yet.
375 if (!archIsDrained())

--- 1025 unchanged lines hidden ---