summary refs log tree commit diff
path: root/devices/src/pci
diff options
context:
space:
mode:
Diffstat (limited to 'devices/src/pci')
-rw-r--r--devices/src/pci/pci_configuration.rs17
-rw-r--r--devices/src/pci/vfio_pci.rs5
2 files changed, 10 insertions, 12 deletions
diff --git a/devices/src/pci/pci_configuration.rs b/devices/src/pci/pci_configuration.rs
index ebfa2a6..ff2da1a 100644
--- a/devices/src/pci/pci_configuration.rs
+++ b/devices/src/pci/pci_configuration.rs
@@ -25,7 +25,7 @@ const INTERRUPT_LINE_PIN_REG: usize = 15;
 
 /// Represents the types of PCI headers allowed in the configuration registers.
 #[allow(dead_code)]
-#[derive(Copy, Clone)]
+#[derive(Copy, Clone, Debug)]
 pub enum PciHeaderType {
     Device,
     Bridge,
@@ -33,7 +33,7 @@ pub enum PciHeaderType {
 
 /// Classes of PCI nodes.
 #[allow(dead_code)]
-#[derive(Copy, Clone)]
+#[derive(Copy, Clone, Debug)]
 pub enum PciClassCode {
     TooOld,
     MassStorage,
@@ -70,7 +70,7 @@ pub trait PciSubclass {
 
 /// Subclasses of the MultimediaController class.
 #[allow(dead_code)]
-#[derive(Copy, Clone)]
+#[derive(Copy, Clone, Debug, Eq, PartialEq)]
 pub enum PciMultimediaSubclass {
     VideoController = 0x00,
     AudioController = 0x01,
@@ -87,7 +87,7 @@ impl PciSubclass for PciMultimediaSubclass {
 
 /// Subclasses of the BridgeDevice
 #[allow(dead_code)]
-#[derive(Copy, Clone)]
+#[derive(Copy, Clone, Debug, Eq, PartialEq)]
 pub enum PciBridgeSubclass {
     HostBridge = 0x00,
     IsaBridge = 0x01,
@@ -111,7 +111,7 @@ impl PciSubclass for PciBridgeSubclass {
 
 /// Subclass of the SerialBus
 #[allow(dead_code)]
-#[derive(Copy, Clone)]
+#[derive(Copy, Clone, Debug, Eq, PartialEq)]
 pub enum PciSerialBusSubClass {
     Firewire = 0x00,
     ACCESSbus = 0x01,
@@ -135,6 +135,7 @@ pub trait PciProgrammingInterface {
 }
 
 /// Types of PCI capabilities.
+#[derive(Clone, Copy, Debug, Eq, PartialEq)]
 pub enum PciCapabilityID {
     ListID = 0,
     PowerManagement = 0x01,
@@ -177,20 +178,20 @@ pub struct PciConfiguration {
 }
 
 /// See pci_regs.h in kernel
-#[derive(Copy, Clone, Debug, PartialEq)]
+#[derive(Copy, Clone, Debug, Eq, PartialEq)]
 pub enum PciBarRegionType {
     Memory32BitRegion = 0,
     IORegion = 0x01,
     Memory64BitRegion = 0x04,
 }
 
-#[derive(Copy, Clone)]
+#[derive(Copy, Clone, Debug, Eq, PartialEq)]
 pub enum PciBarPrefetchable {
     NotPrefetchable = 0,
     Prefetchable = 0x08,
 }
 
-#[derive(Copy, Clone)]
+#[derive(Copy, Clone, Debug)]
 pub struct PciBarConfiguration {
     addr: u64,
     size: u64,
diff --git a/devices/src/pci/vfio_pci.rs b/devices/src/pci/vfio_pci.rs
index fa27dec..5f6998e 100644
--- a/devices/src/pci/vfio_pci.rs
+++ b/devices/src/pci/vfio_pci.rs
@@ -832,10 +832,7 @@ impl PciDevice for VfioPciDevice {
             low = self.config.read_config_dword(offset);
 
             let low_flag = low & 0xf;
-            let is_64bit = match low_flag & 0x4 {
-                0x4 => true,
-                _ => false,
-            };
+            let is_64bit = (low_flag & 0x4) == 0x4;
             if (low_flag & 0x1 == 0 || i == VFIO_PCI_ROM_REGION_INDEX) && low != 0 {
                 let mut upper: u32 = 0xffffffff;
                 if is_64bit {