PCI driver WIP
This commit is contained in:
parent
f05cc96db1
commit
c9a4b3882c
1 changed files with 400 additions and 7 deletions
18
drivers/pcid/src/pci/bar.rs
Normal file
18
drivers/pcid/src/pci/bar.rs
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
#[derive(Debug)]
|
||||
pub enum PciBar {
|
||||
None,
|
||||
Memory(u32),
|
||||
Port(u16)
|
||||
}
|
||||
|
||||
impl From<u32> for PciBar {
|
||||
fn from(bar: u32) -> Self {
|
||||
if bar & 0xFFFFFFFC == 0 {
|
||||
PciBar::None
|
||||
} else if bar & 1 == 0 {
|
||||
PciBar::Memory(bar & 0xFFFFFFF0)
|
||||
} else {
|
||||
PciBar::Port((bar & 0xFFFC) as u16)
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue