diff options
author | Daniel Prilik <prilik@google.com> | 2019-02-26 17:28:26 -0800 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2019-03-11 19:52:59 -0700 |
commit | 7374f32ba47633af33ac6c3981cdee60e6f75671 (patch) | |
tree | b7cd8f826eda0c691a68c7373ab9925d77cba840 /devices/src/pci/pci_device.rs | |
parent | be034264082fd17b7d8f256a51b0753bbd5e8148 (diff) | |
download | crosvm-7374f32ba47633af33ac6c3981cdee60e6f75671.tar crosvm-7374f32ba47633af33ac6c3981cdee60e6f75671.tar.gz crosvm-7374f32ba47633af33ac6c3981cdee60e6f75671.tar.bz2 crosvm-7374f32ba47633af33ac6c3981cdee60e6f75671.tar.lz crosvm-7374f32ba47633af33ac6c3981cdee60e6f75671.tar.xz crosvm-7374f32ba47633af33ac6c3981cdee60e6f75671.tar.zst crosvm-7374f32ba47633af33ac6c3981cdee60e6f75671.zip |
devices: PCI: add capabilities callback
virtio devices should be able to specify capabilities BUG=chromium:936567 TEST=boot vm Change-Id: I049f9967eb59a7904528fff5aea844e30c636e28 Reviewed-on: https://chromium-review.googlesource.com/1493012 Commit-Ready: Daniel Prilik <prilik@google.com> Tested-by: kokoro <noreply+kokoro@google.com> Reviewed-by: Stephen Barber <smbarber@chromium.org>
Diffstat (limited to 'devices/src/pci/pci_device.rs')
-rw-r--r-- | devices/src/pci/pci_device.rs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/devices/src/pci/pci_device.rs b/devices/src/pci/pci_device.rs index d5bc741..bd811b5 100644 --- a/devices/src/pci/pci_device.rs +++ b/devices/src/pci/pci_device.rs @@ -76,6 +76,11 @@ pub trait PciDevice: Send { Ok(Vec::new()) } + /// Register any capabilties specified by the device. + fn register_device_capabilities(&mut self) -> Result<()> { + Ok(()) + } + /// Gets a list of ioeventfds that should be registered with the running VM. The list is /// returned as a Vec of (eventfd, addr, datamatch) tuples. fn ioeventfds(&self) -> Vec<(&EventFd, u64, Datamatch)> { @@ -160,6 +165,9 @@ impl<T: PciDevice + ?Sized> PciDevice for Box<T> { fn allocate_device_bars(&mut self, resources: &mut SystemAllocator) -> Result<Vec<(u64, u64)>> { (**self).allocate_device_bars(resources) } + fn register_device_capabilities(&mut self) -> Result<()> { + (**self).register_device_capabilities() + } fn ioeventfds(&self) -> Vec<(&EventFd, u64, Datamatch)> { (**self).ioeventfds() } |