✨ 前言:
在PCI Express (PCIe) 架构中,"BDF"和"配置空间"是两个重要概念,它们与PCIe设备的识别和配置紧密相关。
✨ 一、 BDF定义
BDF是一种寻址机制,用于唯一标识系统中每个PCIe设备。BDF的全称是Bus/Device/Function,带有以下组成部分:
Bus:一个 8 位字段,表示设备所在的总线号。因为是8位,所以PCIe可以支持256个总线。
Device:一个 5位字段,表示特定总线上的设备号。每个总线可以有32个设备,编号从0到31。
Function:一个 3 位字段,表示特定设备的功能号。因为是3位,所以一个设备可以有最多8个功能。
这样的结构使得系统可以支持多达 256个总线 × 32个设备/总线 × 8个功能/设备 = 65536个唯一功能,这是个足够大的空间来满足现代计算机系统的需要。
需要注意的是,每个设备必须要有功能0(Fun0),其他的7个功能(Fun1~Fun7)都是可选的。
一个简单的例子如下图所示:
✨二、配置空间定义
什么是配置空间?
配置空间是每个PCIe设备的一个特定内存区域,它包含了管理该设备的关键信息,如设备ID、供应商I