在 OS X / Darwin KEXTs 中读取 PCI 配置 space

Reading PCI config space in OS X / Darwin KEXTs

在Linux或Windows中,可以从任意驱动程序(不一定是一个 "owning" 那个特定的 PCI 设备)。在 Linux 上,可以通过 pci_read_config_*() 来完成。

有什么方法可以从 OS X 的 KEXT 做到这一点吗?

IOKit class IOPCIDevice,系统中每个 PCI/Thunderbolt 设备都有一个,有一堆 configRead* functions 用于此目的。您不必拥有实例的独占访问权限(使用 open())即可执行此操作。