我正在寻找内核如何进行 PCI/PCIe 枚举和 BAR 分配。
我以为内核会在启动时分配BAR的PCI基地址,但是当我尝试pci earlydump(在内核初始PCI子系统之前)查看BAR值时,我发现所有基地址都已经分配了!?这是否意味着 BIOS 进行 PCI/PCIe 枚举和 BAR 分配?BIOS 如何知道每个 pci 设备的基地址并在没有冲突的情况下分配这些地址?
如果是这样,嵌入式系统(没有 BIOS )如何为 PCI/PCIe 设备枚举和分配基地址?
顺便说一下,我的电脑是 Ubuntu 14.04.1 LTS (x86_64)