mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2025-02-01 09:25:21 +00:00
pci: Adding support for printing the device's address on a DMA map and unmap errors
Signed-off-by: Arvind Vasudev <avasudev@crusoeenergy.com>
This commit is contained in:
parent
8c07294691
commit
81eca69b40
@ -48,10 +48,10 @@ pub(crate) const VFIO_COMMON_ID: &str = "vfio_common";
|
||||
pub enum VfioPciError {
|
||||
#[error("Failed to create user memory region: {0}")]
|
||||
CreateUserMemoryRegion(#[source] HypervisorVmError),
|
||||
#[error("Failed to DMA map: {0}")]
|
||||
DmaMap(#[source] vfio_ioctls::VfioError),
|
||||
#[error("Failed to DMA unmap: {0}")]
|
||||
DmaUnmap(#[source] vfio_ioctls::VfioError),
|
||||
#[error("Failed to DMA map: {0} for device {1}")]
|
||||
DmaMap(#[source] vfio_ioctls::VfioError, PciBdf),
|
||||
#[error("Failed to DMA unmap: {0} for device {1}")]
|
||||
DmaUnmap(#[source] vfio_ioctls::VfioError, PciBdf),
|
||||
#[error("Failed to enable INTx: {0}")]
|
||||
EnableIntx(#[source] VfioError),
|
||||
#[error("Failed to enable MSI: {0}")]
|
||||
@ -1410,6 +1410,7 @@ pub struct VfioPciDevice {
|
||||
common: VfioCommon,
|
||||
iommu_attached: bool,
|
||||
memory_slot_allocator: MemorySlotAllocator,
|
||||
bdf: PciBdf,
|
||||
}
|
||||
|
||||
impl VfioPciDevice {
|
||||
@ -1451,6 +1452,7 @@ impl VfioPciDevice {
|
||||
common,
|
||||
iommu_attached,
|
||||
memory_slot_allocator,
|
||||
bdf,
|
||||
};
|
||||
|
||||
Ok(vfio_pci_device)
|
||||
@ -1656,7 +1658,7 @@ impl VfioPciDevice {
|
||||
user_memory_region.size,
|
||||
user_memory_region.host_addr,
|
||||
)
|
||||
.map_err(VfioPciError::DmaMap)?;
|
||||
.map_err(|e| VfioPciError::DmaMap(e, self.bdf))?;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1717,7 +1719,7 @@ impl VfioPciDevice {
|
||||
if !self.iommu_attached {
|
||||
self.container
|
||||
.vfio_dma_map(iova, size, user_addr)
|
||||
.map_err(VfioPciError::DmaMap)?;
|
||||
.map_err(|e| VfioPciError::DmaMap(e, self.bdf))?;
|
||||
}
|
||||
|
||||
Ok(())
|
||||
@ -1727,7 +1729,7 @@ impl VfioPciDevice {
|
||||
if !self.iommu_attached {
|
||||
self.container
|
||||
.vfio_dma_unmap(iova, size)
|
||||
.map_err(VfioPciError::DmaUnmap)?;
|
||||
.map_err(|e| VfioPciError::DmaUnmap(e, self.bdf))?;
|
||||
}
|
||||
|
||||
Ok(())
|
||||
|
Loading…
x
Reference in New Issue
Block a user