如何修改PCI设备初始化时传递给内核的信息字段?

问题描述 投票:0回答:1

根据这个答案,系统中的PCI/PCIe设备(如GPU)在使用前需要经过一个初始化过程:

  1. 操作系统内核获取PCI配置寄存器中的值。
  2. 操作系统将获取到的值通过
    struct pci_dev
    传递给相应的设备驱动程序。
  3. 设备驱动程序根据自己的逻辑来注册PCI/PCIe设备。

哪一段内核代码执行第二步?

是否有任何软件方法可以修改操作系统在第一步或第二步中传递给设备驱动程序的 PCI/PCIe 设备信息字段?

linux-kernel gpu linux-device-driver pci-e
1个回答
0
投票

假设您使用的是 Linux,您可以使用 setpci 命令更改一些寄存器读取值,但绝对建议仅将其用于调试、学习需要等。

初始化过程(又名枚举)非常复杂,并且有很多内部依赖项。

© www.soinside.com 2019 - 2024. All rights reserved.