Чтение пространства конфигурации PCI в OS X / Darwin KEXTs
В Linux или Windows можно прочитать конфигурационное пространство PCI устройства из произвольного драйвера (не обязательно того, который "владеет" конкретным устройством PCI). В Linux это можно сделать с помощью pci_read_config_*().
Есть ли способ сделать это с KEXT для OS X?
1 ответ
Решение
Класс IOKit IOPCIDevice
из которых есть по одному на каждое устройство PCI/Thunderbolt в системе, имеет кучу configRead*
функции для этой цели. Вам не нужно иметь эксклюзивный доступ (с open()
) к экземпляру, чтобы сделать это.