Программная эмуляция "железа"

Тема в разделе "WASM.ZEN", создана пользователем Majestio, 6 фев 2018.

  1. Majestio

    Majestio New Member

    Публикаций:
    0
    Буэнос диас, амигос!

    Интересует сабж. Целевые ОС - M$ Windows, FreeBSD, различные дистры Linux.

    Простой пример:
    Допустим на материнке есть пустой разъем PCI-Ex2. Задача "убедить" операционную систему в том, что там вставлено устройство, допустим видюха или SSD. Куда копать?
     
  2. Majestio

    Majestio New Member

    Публикаций:
    0
    Для Виндовс материала не мало. Но мне, дилетанту в данном вопросе, и этого выше крыши. А вот про другие оси - совсем туман. Дайте хоть наводки какие. Плс.

    Дополнение: даже если нет разъема - убедить, что он есть, и там вставлено устройство.
     
  3. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Majestio,

    Системный высокоуровневый интерфейс к железу выполнен в виде сервисных вызовов ядра или как обмен с виртуальными устройствами(IOCTL). Соответственно в юм данные интерфейсы примитивны и нет проблемы их изменить. Задача походу в другом. Видеокарта девайс довольно сложный и высоко производительный. Врядле вам нужна просто эмуляция интерфейса данного устройства. Полноценная его эмуляция врядле даже возможна, так как ос в целом работает куда медленнее чем эти железки. Да и архитектурные протоколы разные у каждой карты, идея их кодить или симулировать глупая, это может сделать только крупная организация, где к задаче привлечены тысячи спецов.
     
  4. RET

    RET Well-Known Member

    Публикаций:
    17
    Majestio, копнуть можно и тут, набрав в гугле VirtualBox source code, к примеру
     
  5. Minzdrav

    Minzdrav Well-Known Member

    Публикаций:
    0
    В Юниксах есть много высокоуровневых решений разных,
    типо Loop-устройств. Может в /dev можно прописать и
    что-то несуществующее, без сложных убеждений ядра.
     
  6. Majestio

    Majestio New Member

    Публикаций:
    0
    Камарады, спасибо. Задача пока чисто академическая, время не торопит. Спасибо за наводки!
     
  7. _edge

    _edge Well-Known Member

    Публикаций:
    1
    Majestio, в дополнение, https://wiki.osdev.org/PCI

    опрос всего этого хозяйства может делаться как через Pci, так и вроде через SMbus.

    как уже верно посоветовали, нужно поизучать исходники виртуальных машин.

    еще ссылка, https://pcem-emulator.co.uk/index.html ( там оно с исходниками, в Downloads )

    а чтобы мозг совсем задымился, загуглите "agp system architecture" и нажмите кнопку "похожие запросы" :)
     
  8. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
  9. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
  10. Talomir

    Talomir Member

    Публикаций:
    0
    Написать драйвер-эмулятор отсутствующей железки, все будут видеть после этого железку как вставленную.