Не могу найти все оборудование на шине PCI, используя BIOS PCI функции: Код (Text): ... devices_search: ;searching: call GetDevice cmp ah,DEVICE_NOT_FOUND je @f test ah,ah jnz error_device_search call FillDescriptor ;заполняет структуру в памяти и выводит на экран информацию о найденном оборуд. inc si add di,DEVICE_DESCRIPTOR_SIZE jmp devices_search @@: mov ax,di pop di ;restore descriptor count offset mov [es:di],si cmp ecx,DEVICE_RADIO_CONTROLLER ;the last device type je @f ;all devices were found mov si,0 ;the first device add ecx,010000h ;next device type push ax ;save descriptor count field offset mov di,ax add di,2 ;add size of descriptor count field jmp devices_search @@: ... GetDevice: push edi push ecx mov ax,0B103h int 1Ah pop ecx pop edi ret этот код находит только сетевой контроллер, контроллер дисплея и устройство моста: Код (Text): network controller: device number: 0 bus number:2 vendorid:10ECh deviceid:8168h display controller: device number:0 bus number:1 vendorid:10deh deviceid:01d7h bridge: device number:0 bus number:0 vendorid:8086h deviceid:27a0h подскажите как найти остальные устройства, ведь гдето должен быть контроллер ждисков, контроллер usb, контроллер опер памяти и тд?? п.с. ноутбук acer travelmate 5620.
goga2007 Лучши для поиска пробовать подряд все устройства. Вернее там не все подряд перебираются, а с учетом ограничений. А ошибка у тебя в том что ты инкримируешь код класса устройства на ecx,010000h, надо инкремировать на 1. Так как контроллер ждисков имеет классы с 010180h по 01018Fh то ты его и не находишь
t00x Не может быть. А так оно и есть. И найденно по одному устройству с шины. 0 - главная, системная шина на ней распологается системная логика материнской карты и сам процессор. 1 - шина видео карты AGP/PCI-E, необязательно только нее. 2 - шина плат расширения PCI. Может быть больше меньше в зависимости от конфигурации компьютера но обычно эти три.
Код (Text): # lspci 00:00.0 RAM memory: nVidia Corporation MCP55 Memory Controller (rev a1) 00:01.0 ISA bridge: nVidia Corporation MCP55 LPC Bridge (rev a2) 00:01.1 SMBus: nVidia Corporation MCP55 SMBus (rev a2) 00:01.2 RAM memory: nVidia Corporation MCP55 Memory Controller (rev a2) 00:01.3 Co-processor: nVidia Corporation MCP55 SMU (rev a2) 00:02.0 USB Controller: nVidia Corporation MCP55 USB Controller (rev a1) 00:02.1 USB Controller: nVidia Corporation MCP55 USB Controller (rev a2) 00:04.0 IDE interface: nVidia Corporation MCP55 IDE (rev a1) 00:05.0 IDE interface: nVidia Corporation MCP55 SATA Controller (rev a2) 00:05.1 IDE interface: nVidia Corporation MCP55 SATA Controller (rev a2) 00:06.0 PCI bridge: nVidia Corporation MCP55 PCI bridge (rev a2) 00:06.1 Audio device: nVidia Corporation MCP55 High Definition Audio (rev a2) 00:08.0 Bridge: nVidia Corporation MCP55 Ethernet (rev a2) 00:0b.0 PCI bridge: nVidia Corporation MCP55 PCI Express bridge (rev a2) 00:0c.0 PCI bridge: nVidia Corporation MCP55 PCI Express bridge (rev a2) 00:0d.0 PCI bridge: nVidia Corporation MCP55 PCI Express bridge (rev a2) 00:0e.0 PCI bridge: nVidia Corporation MCP55 PCI Express bridge (rev a2) 00:0f.0 PCI bridge: nVidia Corporation MCP55 PCI Express bridge (rev a2) 00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration 00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map 00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller 00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control 01:08.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 11) 01:08.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 11) 01:0a.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10) 06:00.0 VGA compatible controller: nVidia Corporation GeForce 7300 GS (rev a1) У меня даже 6-я шина есть. Кстати, а сколько шин всего может быть? А то я на 486-ом моём столько девайсов одинаковых понаобнаружал, что никому и не снилось (учитывая, что максимальный номер шины я взял 255). З.Ы. function = [1..7] надо смотреть, если это только multifunctional device (читается из параметров девайса с функцией 0).
надо в спецификацию лезть. Напямть вроде 256 шин и ккаждой из них можно подключить столькоже. Насчет 486 ничего нескажу. Правельно 5 мастов E-PCI + 1 мост PCI + 1 главная шина.