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 <rbradford@meta.com>
This commit is contained in:
Rob Bradford
2026-04-04 09:07:11 -07:00
parent 51a729a874
commit c3ec804a44
2 changed files with 8 additions and 2 deletions

View File

@@ -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<Self> {
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::<u8>("pci_device_id")
.map_err(Error::ParsePciDeviceCommonConfig)?;
Ok(Self {
id,
iommu,
pci_segment,
pci_device_id,
})
}

View File

@@ -281,6 +281,8 @@ pub struct PciDeviceCommonConfig {
pub iommu: bool,
#[serde(default)]
pub pci_segment: u16,
#[serde(default)]
pub pci_device_id: Option<u8>,
}
#[derive(Clone, Debug, PartialEq, Eq, Deserialize, Serialize)]