mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2024-09-12 10:04:51 +00:00
40 lines
994 B
Rust
40 lines
994 B
Rust
|
// Copyright 2018 The Chromium OS Authors. All rights reserved.
|
||
|
// Use of this source code is governed by a BSD-style license that can be
|
||
|
// found in the LICENSE file.
|
||
|
|
||
|
//! Implements pci devices and busses.
|
||
|
#[macro_use]
|
||
|
extern crate log;
|
||
|
extern crate devices;
|
||
|
extern crate kvm_ioctls;
|
||
|
extern crate vm_memory;
|
||
|
extern crate vmm_sys_util;
|
||
|
|
||
|
mod configuration;
|
||
|
mod device;
|
||
|
mod root;
|
||
|
|
||
|
pub use self::configuration::{
|
||
|
PciBarConfiguration, PciBarPrefetchable, PciBarRegionType, PciCapability, PciCapabilityID,
|
||
|
PciClassCode, PciConfiguration, PciHeaderType, PciProgrammingInterface, PciSerialBusSubClass,
|
||
|
PciSubclass,
|
||
|
};
|
||
|
pub use self::device::Error as PciDeviceError;
|
||
|
pub use self::device::PciDevice;
|
||
|
pub use self::root::{PciConfigIo, PciConfigMmio, PciRoot, PciRootError};
|
||
|
|
||
|
/// PCI has four interrupt pins A->D.
|
||
|
#[derive(Copy, Clone)]
|
||
|
pub enum PciInterruptPin {
|
||
|
IntA,
|
||
|
IntB,
|
||
|
IntC,
|
||
|
IntD,
|
||
|
}
|
||
|
|
||
|
impl PciInterruptPin {
|
||
|
pub fn to_mask(self) -> u32 {
|
||
|
self as u32
|
||
|
}
|
||
|
}
|