Сканирование PCI

Тема в разделе "WASM.OS.DEVEL", создана пользователем SadKo, 4 май 2008.

  1. SadKo

    SadKo Владимир Садовников

    Публикаций:
    8
    Регистрация:
    4 июн 2007
    Сообщения:
    1.610
    Адрес:
    г. Санкт-Петербург
    Возникла трабла при сканировании PCI: вообще, Bus Number может принимать значения от 0 до 255. Однако, на моём 80486 с этим проблемы: устройства дублируются помногу раз. Думаю, что здесь предел поменьше. Как узнать предел сканирования PCI по Bus Number?
     
  2. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    SadKo
    Даже незнаю что тебе посоветовать. Видел как придел определялся помойму, когда вся шина не содержит устрйоств.
    А так ищи сам я тебе не подскужа. Можешь на Osdev.org спросить.
     
  3. rei3er

    rei3er maxim

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    917
    Адрес:
    minsk
    SadKo
    какова задача?
    определить устройства или количество локальных шин?
    если второе, то не вижу в этом смысла
     
  4. diamond

    diamond New Member

    Публикаций:
    0
    Регистрация:
    21 май 2004
    Сообщения:
    507
    Адрес:
    Russia
    BIOS это знает: функция int 1Ah, ax=0B101h возвращает в cl номер последней PCI шины.
    WinNT это берёт из BIOSа (в процессе загрузки, в ntdetect.com) и записывает в реестр: HKLM\HARDWARE\DESCRIPTION\System\MultifunctionAdapter\, первый подключ с Identifier="PCI" хранит в поле "Configuration Data" 24h байта, последние 4 - информация от PCI BIOS (старший номер версии, младший номер версии, число шин, характеристики PCI).
     
  5. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    Число шин можно и самому определить подсчитав число мостов PCI-to-PCI.
     
  6. cppasm

    cppasm New Member

    Публикаций:
    0
    Регистрация:
    18 июл 2006
    Сообщения:
    923
    Напиши все координаты какого-нибудь повторяющегося устройства.
    Если устройство повторяется при одних Bus и Device на разных Function то есть решение :)
     
  7. SadKo

    SadKo Владимир Садовников

    Публикаций:
    8
    Регистрация:
    4 июн 2007
    Сообщения:
    1.610
    Адрес:
    г. Санкт-Петербург
    Хорошо, постараюсь сегодня снять повторяющиеся координаты.
     
  8. SadKo

    SadKo Владимир Садовников

    Публикаций:
    8
    Регистрация:
    4 июн 2007
    Сообщения:
    1.610
    Адрес:
    г. Санкт-Петербург
    Что-то затянул с темой... В общем, результат сканнинга...
    Bus.Dev:Func VendorID DevID
    0.5:0 1025 1435
    0.8:0 5333 8a01
    1.5.0, 1.8.0 - начинаются повторения предыдущего.
     
  9. cppasm

    cppasm New Member

    Публикаций:
    0
    Регистрация:
    18 июл 2006
    Сообщения:
    923
    Не, с таким не встречался.
    Встречался наоборот - когда Bus и Device одинаковые, а при разных Function выдаёт одну и ту же информацию.
    А эта утилита тоже повторы показывает?
    http://members.datafast.net.au/dft0802/downloads.htm
     
  10. SadKo

    SadKo Владимир Садовников

    Публикаций:
    8
    Регистрация:
    4 июн 2007
    Сообщения:
    1.610
    Адрес:
    г. Санкт-Петербург
    А есть образ флоппи-диска с DOS, а то на моём 486 никакой ОС сейчас не стоит, а венды я давно уже не видел в глаза?
     
  11. cppasm

    cppasm New Member

    Публикаций:
    0
    Регистрация:
    18 июл 2006
    Сообщения:
    923