У APCB есть группа, конфигурирующая чипсет —
FCHG, исходя из данных из OpenSIL (спасибо, что у них открыт AGCL-R), он (тип) содержит в себе конфигурации для интерфейса eSPI (Enhanced Serial Peripheral Interface). В середине структуры типа есть массив MMIO адресов. Эти адреса могут быть пустыми, а могут быть и не пустыми (очень классно завёрнул, да?). Собственно, на материнке для отлома ASP они были заполнены. На скринах вы видите их содержимое. Так как речь была про eSPI, я подумал, что оно как-то связано с LPC/ISA Bridge, с регистром
SPI BASE ADDR (Bus 0, Device 0x14, Function 3, Offset 0xA0) оттуда (31:6 биты в регистре — это Spi_eSpi_BaseAddr), но позже вспомнил, что на современных чипсетах LPC/ISA Bridge содержит только 0xFFFFFFFF значения.В какой-то момент, в голову пришла спонтанная идея дампа ACPI, и, да, это сработало, надо сказать. Адреса
0xFEDD8300 и 0xFEDD8B00 упомянуты только в таблице DSDT, в то время как адрес 0xFEDD8500 упомянут и в DSDT и в SSDT25. Все они "регистрировали" области операций (Operation Region), выглядит следующим образом:OperationRegion(EURM, SystemMemory, 0xFEDD8500, 0x40)
OperationRegion(ERAM, SystemMemory, 0xFEDD8300, 0x100)
OperationRegion(ERM2, SystemMemory, 0xFEDD8B00, 0x100)
OperationRegion(ERM3, SystemMemory, 0xFEDD8500, 0x100)
Если я правильно всё понял в своё время из спеки ACPI (а я с ней знаком только по режимам энергопотребления и термальной зоне), то области операций — это области в некотором пространстве, содержащие аппаратные регистры, предназначенные для исключительного использования методами управления ACPI.
Регион
EURM находился в описании девайса UBTC — USB Type-C. Здесь только вопрос к названию самой области операций. Я смог это сопоставить только с ACPI UCM-UCSI, который должен управлять USB-C, как минимум, в винде.Остальные регионы описаны в
_SB.PCI0.SBRG, то есть System Bus Bridge. Находятся в описании EC0, видимо речь про Embedded Controller. В моей логике, области с именами ERAM, ERM2 и ERM3 относятся к Embedded Controller RAM, то есть, в эти области отображается содержимое EC RAM, и, по-видимому, предназначена для обмена между EC и ОС.А, ну и если вы внимательны, то области
ERAM и ERM3 имеют одинаковый адрес. Я не знаю с чем это связано, может, какая-то ошибка, а может регионы совмещены. Адрес
0xFEDD8E00 был в массиве, но я не нашёл его упоминания нигде.Так было на моей плате, на ваших может быть по другому, вплоть до того, что MMIO адресов не будет в APCB.



