From c3ec804a44e3475bd5a3ca66f5e8a8564754d19f Mon Sep 17 00:00:00 2001 From: Rob Bradford Date: Sat, 4 Apr 2026 09:07:11 -0700 Subject: [PATCH] vmm: config: Add pci_device_id to PciDeviceCommonConfig This adds it to all device types that use the common PCI device configuration. Signed-off-by: Rob Bradford --- vmm/src/config.rs | 8 ++++++-- vmm/src/vm_config.rs | 2 ++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/vmm/src/config.rs b/vmm/src/config.rs index 8e0c4232a..a1453a011 100644 --- a/vmm/src/config.rs +++ b/vmm/src/config.rs @@ -1195,8 +1195,8 @@ impl RateLimiterGroupConfig { } impl PciDeviceCommonConfig { - const OPTIONS: &[&str] = &["id", "pci_segment"]; - const OPTIONS_IOMMU: &[&str] = &["id", "iommu", "pci_segment"]; + const OPTIONS: &[&str] = &["id", "pci_segment", "pci_device_id"]; + const OPTIONS_IOMMU: &[&str] = &["id", "iommu", "pci_segment", "pci_device_id"]; pub fn parse(input: &str) -> Result { let mut parser = OptionParser::new(); @@ -1217,11 +1217,15 @@ impl PciDeviceCommonConfig { .convert("pci_segment") .map_err(Error::ParsePciDeviceCommonConfig)? .unwrap_or_default(); + let pci_device_id = parser + .convert::("pci_device_id") + .map_err(Error::ParsePciDeviceCommonConfig)?; Ok(Self { id, iommu, pci_segment, + pci_device_id, }) } diff --git a/vmm/src/vm_config.rs b/vmm/src/vm_config.rs index 156650cb2..916204540 100644 --- a/vmm/src/vm_config.rs +++ b/vmm/src/vm_config.rs @@ -281,6 +281,8 @@ pub struct PciDeviceCommonConfig { pub iommu: bool, #[serde(default)] pub pci_segment: u16, + #[serde(default)] + pub pci_device_id: Option, } #[derive(Clone, Debug, PartialEq, Eq, Deserialize, Serialize)]