#pci #access #bus #devices #configuration #capabilities #bar

pci-for-framework

Generic PCI scanning, configuration-space access, and header parsing

1 unstable release

0.0.1 Jul 26, 2024

#16 in #pci


Used in good-os-framework

MIT/Apache

29KB
647 lines

pci

A platform-agnostic PCI bus management and configuration access library forked from robigalia/pci.

It added these features to the original repo:

  1. PCI capabilities listing

lib.rs:

PCI bus management

This crate defines various traits, functions, and types for working with the PCI local bus.

It is assumed that PCI(e) is already configured - that is, that each device has been allocated the memory it requests and the BARs are already configured correctly. The firmware (BIOS, UEFI) usually does this on PC platforms.

This crate is not yet suitable for multicore use - nothing is synchronized.

This crate does not yet contain any hardware-specific workarounds for buggy or broken hardware.

This crate cannot yet exploit PCIe memory-mapped configuration spaces.

This crate only supports x86, currently.

Dependencies

~105KB