Уточнение по формату адресного регистра контроллера PCI В

Уточнение по формату адресного регистра контроллера PCI

В ряде чипсетов (в частности, это VIA-шные Apollo VPX и KT133) младшие два бита значения смещения "не устанавливаются" (всегда равны 0).

Это отражено в даташитах:

Цитата:

Port CFB-CF8 - Configuration Address ......................... RW
31 Configuration Space Enable
0 Disabled .................................................default
1 Convert configuration data port writes to
configuration cycles on the PCI bus
30-24 Reserved ........................................ always reads 0

23-16 PCI Bus Number
Used to choose a specific PCI bus in the system
15-11 Device Number
Used to choose a specific device in the system
10-8 Function Number
Used to choose a specific function if the selected
device supports multiple functions
7-2 Register Number
Used to select a specific DWORD in the device’s
configuration space
1-0 Fixed ........................................ always reads 0

Таким образом можно установить только смещения, кратные 4-м.
Для 8- и 16-битных операций с регистрами, смещение которых не кратно 4, биосы используют прямое обращение к портам CFC-CFF.

Так, для чтения регистра 63 надо установить смещение 60 и прочитать из порта CFE.

Pinczakko's Guide to Award BIOS Reverse Engineering
  • try to use: http://babelfish.altavista.com/tr
  • А ссылочка то с переводом битая. Перезалейте пожалуйста,