(
sysfs: &SysfsRoot,
tmp: &Path,
bdf: &str,
vendor: &str,
device: &str,
class: &str,
iommu_group: u32,
)
| 14 | } |
| 15 | |
| 16 | pub fn create_pci_device( |
| 17 | sysfs: &SysfsRoot, |
| 18 | tmp: &Path, |
| 19 | bdf: &str, |
| 20 | vendor: &str, |
| 21 | device: &str, |
| 22 | class: &str, |
| 23 | iommu_group: u32, |
| 24 | ) { |
| 25 | let dev = sysfs.pci_device(bdf); |
| 26 | fs::create_dir_all(&dev).unwrap(); |
| 27 | |
| 28 | fs::write(dev.join("vendor"), format!("{vendor}\n")).unwrap(); |
| 29 | fs::write(dev.join("device"), format!("{device}\n")).unwrap(); |
| 30 | fs::write(dev.join("class"), format!("{class}\n")).unwrap(); |
| 31 | |
| 32 | let group_dir = tmp.join(format!("kernel/iommu_groups/{iommu_group}")); |
| 33 | fs::create_dir_all(&group_dir).unwrap(); |
| 34 | symlink(&group_dir, dev.join("iommu_group")).unwrap(); |
| 35 | |
| 36 | let group_devices_dir = group_dir.join("devices"); |
| 37 | fs::create_dir_all(&group_devices_dir).unwrap(); |
| 38 | symlink(&dev, group_devices_dir.join(bdf)).unwrap(); |
| 39 | } |
| 40 | |
| 41 | /// Helper to create a fake driver symlink for a mock PCI device. |
| 42 | pub fn set_mock_driver(sysfs: &SysfsRoot, bdf: &str, driver_name: &str) { |
no test coverage detected