1. 版本背景
- 发布时间:2020年12月13日
- 总线支持状态:PCIe 4.0完全支持,USB 3.2 Gen 2x2整合,设备树驱动全面采用
- 关键里程碑:
- PCIe 4.0完整实现(16GT/s)
- USB 3.2 Gen 2x2支持(20Gbps)
- CXL 1.1初步支持
- 设备树总线绑定标准化
- 总线热插拔框架生产就绪
2. 子系统架构
现代化架构
+---------------------+ | 用户空间 | | libbusctl库 | | busctl命令行工具 | +----------+----------+ | +----------v----------+ | 内核空间 | | 总线核心子系统 | | + PCIe 4.0框架 | | + USB 3.2控制器 | +----------+----------+ | +----------v----------+ | 统一总线控制器 | | (drivers/bus) | +----------+----------+ | +----------v----------+ | 总线物理层 | +---------------------+
架构创新
- PCIe 4.0框架:
drivers/pci/pcie/下的完整实现 - USB 3.2支持:
drivers/usb/dwc3/增强控制器 - CXL支持:
drivers/cxl/初步集成 - 热插拔框架:
drivers/pci/hotplug/标准化
3. 源码深度解析
PCIe 4.0实现
// drivers/pci/pcie/speed.c int pcie_get_speed_cap(struct pci_dev *dev) { u32 lnkcap; /* 获取链路能力 */ pcie_capability_read_dword(dev, PCI_EXP_LNKCAP, &lnkcap); /* 解析支持的速度 */ switch (lnkcap & PCI_EXP_LNKCAP_SLS) { case PCI_EXP_LNKCAP_SLS_16_0GB