Bios实习 学习篇- 5.PCIe学习(2)

1.PCI I/O Protocol

核心概念

PCI I/O Protocol 是 UEFI 中访问 PCI 设备的标准接口,它抽象了 PCI 配置空间、内存空间和 I/O 空间的读写操作,使上层驱动无需关心底层硬件细节。每个 PCI 功能(Function)对应一个 PCI I/O Protocol 实例,安装在单独的 Handle 上。

常用操作示例

2.PCI Bus Driver 深度解析

核心职责

  1. PCI 总线枚举:扫描所有 PCI 总线、设备和功能
  2. 资源分配:为设备分配总线号、内存和 I/O 资源
  3. 协议安装:为每个 PCI 功能安装 PCI I/O Protocol
  4. 设备管理:处理 PCI 设备的启动、停止和热插拔

PCI 枚举详细步骤

步骤 1:扫描总线,发现设备

产出:构建出完整的设备树(Bus0 → Device5 → Function0)

步骤2:读取设备的资源需求(BAR)

产出:知道每个设备需要多少 Memory Space、IO Space、Prefetchable Memory

步骤 3:分配地址资源(这就是"地址分配")

产出:每个设备的 BAR 都被赋予了真实的系统地址

步骤 4:配置中断、设置命令寄存器

步骤 5:为设备创建 Handle 并安装 Protocol

产出:设备可以在 UEFI Shell 中通过 devices 命令看到了!

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务