More compact output
This commit is contained in:
parent
4f6a0fb2b0
commit
adec5d6df6
|
@ -16,43 +16,36 @@ fn enumerate_pci() {
|
||||||
for dev in bus.devs() {
|
for dev in bus.devs() {
|
||||||
for func in dev.funcs() {
|
for func in dev.funcs() {
|
||||||
if let Some(header) = func.header() {
|
if let Some(header) = func.header() {
|
||||||
println!("PCI {:>02X}/{:>02X}/{:>02X} {:>04X}:{:>04X} {:>02X}.{:>02X}.{:>02X}.{:>02X} {:?}",
|
print!("PCI {:>02X}/{:>02X}/{:>02X} {:>04X}:{:>04X} {:>02X}.{:>02X}.{:>02X}.{:>02X}",
|
||||||
bus.num, dev.num, func.num,
|
bus.num, dev.num, func.num,
|
||||||
header.vendor_id, header.device_id,
|
header.vendor_id, header.device_id,
|
||||||
header.class, header.subclass, header.interface, header.revision,
|
header.class, header.subclass, header.interface, header.revision);
|
||||||
PciClass::from(header.class));
|
|
||||||
|
|
||||||
for i in 0..header.bars.len() {
|
let pci_class = PciClass::from(header.class);
|
||||||
match PciBar::from(header.bars[i]) {
|
print!(" {:?}", pci_class);
|
||||||
PciBar::None => (),
|
match pci_class {
|
||||||
PciBar::Memory(address) => println!(" BAR {} {:>08X}", i, address),
|
|
||||||
PciBar::Port(address) => println!(" BAR {} {:>04X}", i, address)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
match PciClass::from(header.class) {
|
|
||||||
PciClass::Storage => match header.subclass {
|
PciClass::Storage => match header.subclass {
|
||||||
0x01 => {
|
0x01 => {
|
||||||
println!(" + IDE");
|
print!(" IDE");
|
||||||
},
|
},
|
||||||
0x06 => {
|
0x06 => {
|
||||||
println!(" + SATA");
|
print!(" SATA");
|
||||||
},
|
},
|
||||||
_ => ()
|
_ => ()
|
||||||
},
|
},
|
||||||
PciClass::SerialBus => match header.subclass {
|
PciClass::SerialBus => match header.subclass {
|
||||||
0x03 => match header.interface {
|
0x03 => match header.interface {
|
||||||
0x00 => {
|
0x00 => {
|
||||||
println!(" + UHCI");
|
print!(" UHCI");
|
||||||
},
|
},
|
||||||
0x10 => {
|
0x10 => {
|
||||||
println!(" + OHCI");
|
print!(" OHCI");
|
||||||
},
|
},
|
||||||
0x20 => {
|
0x20 => {
|
||||||
println!(" + EHCI");
|
print!(" EHCI");
|
||||||
},
|
},
|
||||||
0x30 => {
|
0x30 => {
|
||||||
println!(" + XHCI");
|
print!(" XHCI");
|
||||||
},
|
},
|
||||||
_ => ()
|
_ => ()
|
||||||
},
|
},
|
||||||
|
@ -60,6 +53,16 @@ fn enumerate_pci() {
|
||||||
},
|
},
|
||||||
_ => ()
|
_ => ()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for i in 0..header.bars.len() {
|
||||||
|
match PciBar::from(header.bars[i]) {
|
||||||
|
PciBar::None => (),
|
||||||
|
PciBar::Memory(address) => print!(" {}={:>08X}", i, address),
|
||||||
|
PciBar::Port(address) => print!(" {}={:>04X}", i, address)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
print!("\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue