Буэнос диас, амигос! Интересует сабж. Целевые ОС - M$ Windows, FreeBSD, различные дистры Linux. Простой пример: Допустим на материнке есть пустой разъем PCI-Ex2. Задача "убедить" операционную систему в том, что там вставлено устройство, допустим видюха или SSD. Куда копать?
Для Виндовс материала не мало. Но мне, дилетанту в данном вопросе, и этого выше крыши. А вот про другие оси - совсем туман. Дайте хоть наводки какие. Плс. Дополнение: даже если нет разъема - убедить, что он есть, и там вставлено устройство.
Majestio, Системный высокоуровневый интерфейс к железу выполнен в виде сервисных вызовов ядра или как обмен с виртуальными устройствами(IOCTL). Соответственно в юм данные интерфейсы примитивны и нет проблемы их изменить. Задача походу в другом. Видеокарта девайс довольно сложный и высоко производительный. Врядле вам нужна просто эмуляция интерфейса данного устройства. Полноценная его эмуляция врядле даже возможна, так как ос в целом работает куда медленнее чем эти железки. Да и архитектурные протоколы разные у каждой карты, идея их кодить или симулировать глупая, это может сделать только крупная организация, где к задаче привлечены тысячи спецов.
В Юниксах есть много высокоуровневых решений разных, типо Loop-устройств. Может в /dev можно прописать и что-то несуществующее, без сложных убеждений ядра.
Majestio, в дополнение, https://wiki.osdev.org/PCI опрос всего этого хозяйства может делаться как через Pci, так и вроде через SMbus. как уже верно посоветовали, нужно поизучать исходники виртуальных машин. еще ссылка, https://pcem-emulator.co.uk/index.html ( там оно с исходниками, в Downloads ) а чтобы мозг совсем задымился, загуглите "agp system architecture" и нажмите кнопку "похожие запросы"
А это для богов хакинга: https://conference.hitb.org/hitbsec...achy and Mark Ermalov - Intel DCI Secrets.pdf
Написать драйвер-эмулятор отсутствующей железки, все будут видеть после этого железку как вставленную.