同一张图:启动对象、绑定驱动,再跟踪一次 I/O
DriverBinding 方法表不是运行线程;Handle 协议、驱动连接和回调执行是不同状态。
00
平台范围:QEMU RISC-V virt + EDK2 stable202408。此路径是 generic ECAM 主机桥,不是 DWC;没有 FU740 mgmt/DBI/iATU。默认 SSD 可直挂根总线;Root Port 是可选桥拓扑。
固件框架与本案例边界
QEMU virt 生成 FDT,EDK2 作为 OpenSBI 等 M-mode 固件后的 S-mode payload 运行。此包采用 PEI-less 路径。DXE 加载主机桥、PCI Bus、NVMe 模块,BDS 连接控制器。句柄/协议不是 Linux 设备树。
不要混淆:启动模块加载 ≠ Protocol 安装 ≠ DriverBinding.Start ≠ 正在运行。
事件与服务条件
存在/等待黄框:本步执行绿线:对象依赖/父子紫虚线:BY_DRIVER 管理关系箭头:本步硬件/软件流
硬件底座先于固件软件对象存在
QEMU virt 通用 PCIe Host · CPU · 主存 · PCIe 链路 · SSD 设备模型。下方协议和结构体窗口不会读取当前 QEMU 状态。