pci: 添加pci root manager来管理pci root,并使得riscv能够正常扫描pci设备. (#745)

* pci: 添加pci root manager来管理pci root.
pci: 使得riscv能够正常扫描pci设备.

* doc: 添加注释
This commit is contained in:
LoGin
2024-04-21 11:27:36 +08:00
committed by GitHub
parent 2709e017d0
commit 370472f728
16 changed files with 547 additions and 217 deletions

View File

@ -1,5 +1,5 @@
use crate::{
driver::pci::pci::{BusDeviceFunction, PciAddr, PciError, PciRoot, SegmentGroupNumber},
driver::pci::pci::{BusDeviceFunction, PciAddr},
mm::PhysAddr,
};
@ -31,8 +31,4 @@ pub trait TraitPciArch {
/// @param address PCI域地址
/// @return usize 转换结果
fn address_pci_to_physical(pci_address: PciAddr) -> PhysAddr;
/// @brief 获取Segement的root地址,x86_64架构为acpi mcfg表中读取
/// @param segement 组id
/// @return Result<PciRoot, PciError> 转换结果或出错原因
fn ecam_root(segement: SegmentGroupNumber) -> Result<PciRoot, PciError>;
}