Алгоритм такой:
идем по дивайсам от 0-й шины, 0-го дивайса, 0-функции.
Видим FFFF - возвращаемся на уровень выше.
Поэтому FFFF - маркер
а) того, что больше нету функций у multifunction device => переходим к след. дивайсу
б) если мы увидели такой настоящий дивайс, который не мульти-, то переходим к след. шине PCI.
в) как там с шинами PCI я уже не знаю
Дабы прекратить споры, предлагаю остановиться на двух моментах:
а) если дивайса нет, то получаем Devid=FFFF
б) но т.к. кол-во дивайсов не известно, а нумерация (адресация) у них подряд, то дойдя до FFFF, энумеровать (как оно по-русски? а! перечислять!) дивайсы уже надо
Алгоритм такой:
идем по дивайсам от 0-й шины, 0-го дивайса, 0-функции.
Видим FFFF - возвращаемся на уровень выше.
Поэтому FFFF - маркер
а) того, что больше нету функций у multifunction device => переходим к след. дивайсу
б) если мы увидели такой настоящий дивайс, который не мульти-, то переходим к след. шине PCI.
в) как там с шинами PCI я уже не знаю
Дабы прекратить споры, предлагаю остановиться на двух моментах:
а) если дивайса нет, то получаем Devid=FFFF
б) но т.к. кол-во дивайсов не известно, а нумерация (адресация) у них подряд, то дойдя до FFFF, энумеровать (как оно по-русски? а! перечислять!) дивайсы уже надо