vmm: Implement BusDevice for DeviceManager

In anticipation of inserting the DeviceManager on the IO/MMIO buses,
the DeviceManager must implement the BusDevice trait.

Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
This commit is contained in:
Sebastien Boeuf 2020-02-27 11:40:05 +01:00 committed by Rob Bradford
parent 2eb26d4de4
commit 65774e8a78
2 changed files with 4 additions and 2 deletions

View File

@ -49,7 +49,7 @@ pub trait Snapshotable {}
/// All migratable components are paused before being snapshotted, and then
/// eventually resumed. Thus any Migratable component must be both Pausable
/// and Snapshotable.
pub trait Migratable: Pausable + Snapshotable {}
pub trait Migratable: Send + Pausable + Snapshotable {}
fn get_region_host_address_range(
region: &GuestRegionMmap,

View File

@ -22,7 +22,7 @@ use acpi_tables::{aml, aml::Aml};
#[cfg(feature = "acpi")]
use arch::layout;
use arch::layout::{APIC_START, IOAPIC_SIZE, IOAPIC_START};
use devices::{ioapic, HotPlugNotificationFlags};
use devices::{ioapic, BusDevice, HotPlugNotificationFlags};
use kvm_ioctls::*;
use libc::O_TMPFILE;
use libc::TIOCGWINSZ;
@ -1841,6 +1841,8 @@ impl Pausable for DeviceManager {
impl Snapshotable for DeviceManager {}
impl Migratable for DeviceManager {}
impl BusDevice for DeviceManager {}
impl Drop for DeviceManager {
fn drop(&mut self) {
for (device, _) in self.virtio_devices.drain(..) {