mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2024-10-05 21:15:45 +00:00
pci: Export network and mass storage sub classes
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
This commit is contained in:
parent
49d6b495d5
commit
0b7fb42a6c
@ -124,6 +124,50 @@ impl PciSubclass for PciSerialBusSubClass {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Mass Storage Sub Classes
|
||||||
|
#[allow(dead_code)]
|
||||||
|
#[derive(Copy, Clone)]
|
||||||
|
pub enum PciMassStorageSubclass {
|
||||||
|
SCSIStorage = 0x00,
|
||||||
|
IDEInterface = 0x01,
|
||||||
|
FloppyController = 0x02,
|
||||||
|
IPIController = 0x03,
|
||||||
|
RAIDController = 0x04,
|
||||||
|
ATAController = 0x05,
|
||||||
|
SATAController = 0x06,
|
||||||
|
SerialSCSIController = 0x07,
|
||||||
|
NVMController = 0x08,
|
||||||
|
MassStorage = 0x80,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl PciSubclass for PciMassStorageSubclass {
|
||||||
|
fn get_register_value(&self) -> u8 {
|
||||||
|
*self as u8
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Network Controller Sub Classes
|
||||||
|
#[allow(dead_code)]
|
||||||
|
#[derive(Copy, Clone)]
|
||||||
|
pub enum PciNetworkControllerSubclass {
|
||||||
|
EthernetController = 0x00,
|
||||||
|
TokenRingController = 0x01,
|
||||||
|
FDDIController = 0x02,
|
||||||
|
ATMController = 0x03,
|
||||||
|
ISDNController = 0x04,
|
||||||
|
WorldFipController = 0x05,
|
||||||
|
PICMGController = 0x06,
|
||||||
|
InfinibandController = 0x07,
|
||||||
|
FabricController = 0x08,
|
||||||
|
NetworkController = 0x80,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl PciSubclass for PciNetworkControllerSubclass {
|
||||||
|
fn get_register_value(&self) -> u8 {
|
||||||
|
*self as u8
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// A PCI class programming interface. Each combination of `PciClassCode` and
|
/// A PCI class programming interface. Each combination of `PciClassCode` and
|
||||||
/// `PciSubclass` can specify a set of register-level programming interfaces.
|
/// `PciSubclass` can specify a set of register-level programming interfaces.
|
||||||
/// This trait is implemented by each programming interface.
|
/// This trait is implemented by each programming interface.
|
||||||
|
@ -17,8 +17,8 @@ mod root;
|
|||||||
|
|
||||||
pub use self::configuration::{
|
pub use self::configuration::{
|
||||||
PciBarConfiguration, PciBarPrefetchable, PciBarRegionType, PciCapability, PciCapabilityID,
|
PciBarConfiguration, PciBarPrefetchable, PciBarRegionType, PciCapability, PciCapabilityID,
|
||||||
PciClassCode, PciConfiguration, PciHeaderType, PciProgrammingInterface, PciSerialBusSubClass,
|
PciClassCode, PciConfiguration, PciHeaderType, PciMassStorageSubclass,
|
||||||
PciSubclass,
|
PciNetworkControllerSubclass, PciProgrammingInterface, PciSerialBusSubClass, PciSubclass,
|
||||||
};
|
};
|
||||||
pub use self::device::Error as PciDeviceError;
|
pub use self::device::Error as PciDeviceError;
|
||||||
pub use self::device::{InterruptDelivery, InterruptParameters, PciDevice};
|
pub use self::device::{InterruptDelivery, InterruptParameters, PciDevice};
|
||||||
|
Loading…
Reference in New Issue
Block a user