diff options
author | Gurchetan Singh <gurchetansingh@chromium.org> | 2019-02-20 16:30:48 -0800 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2019-03-01 01:08:27 -0800 |
commit | 036ba3390bfd31a3eeae07186cb9e4933fa5ddc3 (patch) | |
tree | 64aab291c5b555338297badfff30d7ebbaf6d263 /devices/src/virtio/virtio_pci_device.rs | |
parent | 948a3ab6b5c67bd6fa46e6bdd9b49de59ccadf36 (diff) | |
download | crosvm-036ba3390bfd31a3eeae07186cb9e4933fa5ddc3.tar crosvm-036ba3390bfd31a3eeae07186cb9e4933fa5ddc3.tar.gz crosvm-036ba3390bfd31a3eeae07186cb9e4933fa5ddc3.tar.bz2 crosvm-036ba3390bfd31a3eeae07186cb9e4933fa5ddc3.tar.lz crosvm-036ba3390bfd31a3eeae07186cb9e4933fa5ddc3.tar.xz crosvm-036ba3390bfd31a3eeae07186cb9e4933fa5ddc3.tar.zst crosvm-036ba3390bfd31a3eeae07186cb9e4933fa5ddc3.zip |
devices: use PCI bar configuration when adding regions
This removes add_memory_region and add_io_region, and replaces it with the add_pci_bar function. BUG=chromium:924405 TEST=boot VM Change-Id: Ifc637d174d3f8b1255cf13725a1a224b4cdf0a30 Reviewed-on: https://chromium-review.googlesource.com/1480741 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Tested-by: kokoro <noreply+kokoro@google.com> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Diffstat (limited to 'devices/src/virtio/virtio_pci_device.rs')
-rw-r--r-- | devices/src/virtio/virtio_pci_device.rs | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/devices/src/virtio/virtio_pci_device.rs b/devices/src/virtio/virtio_pci_device.rs index f9cb948..bdd10c2 100644 --- a/devices/src/virtio/virtio_pci_device.rs +++ b/devices/src/virtio/virtio_pci_device.rs @@ -11,8 +11,8 @@ use super::*; use data_model::{DataInit, Le32}; use kvm::Datamatch; use pci::{ - PciCapability, PciCapabilityID, PciClassCode, PciConfiguration, PciDevice, PciDeviceError, - PciHeaderType, PciInterruptPin, PciSubclass, + PciBarConfiguration, PciCapability, PciCapabilityID, PciClassCode, PciConfiguration, PciDevice, + PciDeviceError, PciHeaderType, PciInterruptPin, PciSubclass, }; use resources::SystemAllocator; use sys_util::{EventFd, GuestMemory, Result}; @@ -312,9 +312,13 @@ impl PciDevice for VirtioPciDevice { let settings_config_addr = resources .allocate_mmio_addresses(CAPABILITY_BAR_SIZE) .ok_or(PciDeviceError::IoAllocationFailed(CAPABILITY_BAR_SIZE))?; + let config = PciBarConfiguration::default() + .set_register_index(0) + .set_address(settings_config_addr) + .set_size(CAPABILITY_BAR_SIZE); let settings_bar = self .config_regs - .add_memory_region(settings_config_addr, CAPABILITY_BAR_SIZE) + .add_pci_bar(&config) .ok_or(PciDeviceError::IoRegistrationFailed(settings_config_addr))? as u8; ranges.push((settings_config_addr, CAPABILITY_BAR_SIZE)); |