mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2026-08-05 02:19:16 +00:00
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:
@@ -1195,8 +1195,8 @@ impl RateLimiterGroupConfig {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl PciDeviceCommonConfig {
|
impl PciDeviceCommonConfig {
|
||||||
const OPTIONS: &[&str] = &["id", "pci_segment"];
|
const OPTIONS: &[&str] = &["id", "pci_segment", "pci_device_id"];
|
||||||
const OPTIONS_IOMMU: &[&str] = &["id", "iommu", "pci_segment"];
|
const OPTIONS_IOMMU: &[&str] = &["id", "iommu", "pci_segment", "pci_device_id"];
|
||||||
|
|
||||||
pub fn parse(input: &str) -> Result<Self> {
|
pub fn parse(input: &str) -> Result<Self> {
|
||||||
let mut parser = OptionParser::new();
|
let mut parser = OptionParser::new();
|
||||||
@@ -1217,11 +1217,15 @@ impl PciDeviceCommonConfig {
|
|||||||
.convert("pci_segment")
|
.convert("pci_segment")
|
||||||
.map_err(Error::ParsePciDeviceCommonConfig)?
|
.map_err(Error::ParsePciDeviceCommonConfig)?
|
||||||
.unwrap_or_default();
|
.unwrap_or_default();
|
||||||
|
let pci_device_id = parser
|
||||||
|
.convert::<u8>("pci_device_id")
|
||||||
|
.map_err(Error::ParsePciDeviceCommonConfig)?;
|
||||||
|
|
||||||
Ok(Self {
|
Ok(Self {
|
||||||
id,
|
id,
|
||||||
iommu,
|
iommu,
|
||||||
pci_segment,
|
pci_segment,
|
||||||
|
pci_device_id,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -281,6 +281,8 @@ pub struct PciDeviceCommonConfig {
|
|||||||
pub iommu: bool,
|
pub iommu: bool,
|
||||||
#[serde(default)]
|
#[serde(default)]
|
||||||
pub pci_segment: u16,
|
pub pci_segment: u16,
|
||||||
|
#[serde(default)]
|
||||||
|
pub pci_device_id: Option<u8>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Clone, Debug, PartialEq, Eq, Deserialize, Serialize)]
|
#[derive(Clone, Debug, PartialEq, Eq, Deserialize, Serialize)]
|
||||||
|
|||||||
Reference in New Issue
Block a user