PCI

Тема в разделе "WASM.OS.DEVEL", создана пользователем pthread_create, 26 сен 2009.

  1. pthread_create

    pthread_create New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2009
    Сообщения:
    3
    Всем привет!
    Хочу изучить и понять PCI архитектуру и пограммирование устройств под винды. Кое-что о ядре и драйверах я знаю. По крайней мере могу создать legacy NT драйвер. В терминологии ядра NT тоже более менее разбираюсь. Поэтому хочу начать изучение PCI шины с примеров программирования и экспериментов, параллельно читая спецификацию PCI 3.0. Скажите пожалуйста, "с чего начинается родина" в винде для PCI устройств? Например, как можно получить информацию о шинах PCI и иерархии устройств на шинах? С чего вообще начинается PCI в винде? Т.е., насколько я понял, есть какой-то мастер контроллер на плате PC, от которого все и растет. Как до него добраться и как с ним работать? Каким образом винда "знает" о всех таких мастер-контроллерах (разные ведь чипы бывают)? И это только первые вопросы ;)
    Прошу вашего терпения и надеюсь на снисхождение к новичку!
     
  2. Ra_

    Ra_ New Member

    Публикаций:
    0
    Регистрация:
    4 мар 2007
    Сообщения:
    289
    Пройдись _www.pcports.ru/Library.php , в остальном думаю народ поможет. :)
     
  3. SII

    SII Воин против дзена

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    1.483
    Адрес:
    Подмосковье
    pthread_create
    "Мастер-контроллер", как Вы его называете, входит в состав северного моста чипсета (на последних интеловских процах под LGA 1156 сам северный мост переместился на кристалл процессора, но логически это по-прежнему отдельное устройство). Его настройку выполняет BIOS, поскольку только ему известны "интимные подробности" устройства системной платы, в нём же находится и код, зависящий от модели процессора. ОС, по большому счёту, занимается лишь конфигурированием устройств под свои нужды (хотя BIOS обязательно настраивает те из них, что требуются для загрузки ОС; прочие устройства на PCI/PCI Express BIOS может и не настраивать). Как выполняется конфигурирование, описано в спецификации PCI. Ну а как точно всё это делается конкретно в Винде, какова логика выделения устройствам диапазонов адресов и т.п. -- лично я не знаю.
     
  4. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    В Винде сильно развита система драйверов так что может и через нее. Но на самом деле если ты читал спецификацию PCI то знаешь что там предусмотрено 2 стандартных порта для общения.

    Это DDK читать надо.
     
  5. pthread_create

    pthread_create New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2009
    Сообщения:
    3
    спасибо, читайю! :)
     
  6. pthread_create

    pthread_create New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2009
    Сообщения:
    3
    скажите пожалуйста, каким образом из своего драйвера посредством IoAttachDeviceToDeviceStack присоединиться к PCI bus объекту? хотелось бы посмотреть на технику этого действа...
     
  7. reversecode

    reversecode Guest

    Публикаций:
    0
    ddk скачайте там много всяких примеров