![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Участник клуба
Регистрация: 16.06.2011
Сообщений: 1,428
|
![]()
Всем привет!
Мне нужно программно подобраться к ACPI-контролёру. Открыв доки на свой чипсет обнаружил, что он висит на шине LPC. Дальше через АХ=B103\INT-1Ah в cfg-пространстве PCI я нашёл мост PCI-LPC по его классу 060100h - получил bus\dev\func = 00:1F:00, что совпадает с доками на чипсет (координаты одинаковы для всех чипсетов Intel). Теперь с пространства этого моста считал дворд с оффсета 40h, который указывается в доках как PMBAR (база ACPI). Всё вроде нормально, но почему-то получил слишком маленькое значение базы, равной всего 0800h, хотя это-же значение возвращает и винда. Вопрос: что мне делать дальше с этой базой? Может это оффсет от рут-комплекса RCBA или что-то ещё? И вообще, порты у ACPI-контролёра I/O или MMIO? Есть другой вариант - парсить таблицу ACPI в ручную, но хотелось попробовать через прерывания.
Нашедшего выход - затаптывают первым..
|
![]() |
![]() |
![]() |
#2 |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
![]()
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . Последний раз редактировалось Pavia; 06.04.2020 в 15:11. |
![]() |
![]() |
![]() |
#3 |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
![]()
Из документа "io-controller-hub-10-family-datasheet"
В главе находится описание этих ACPI регистров глава называется 13.8.3 Power Management I/O Registers Откуда видим что описание программирование в главе 5.13 Power Management (D31:F0) Там общие слова. И надо изучать ACPI и руководство на процессор.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . |
![]() |
![]() |
![]() |
#4 |
Участник клуба
Регистрация: 16.06.2011
Сообщений: 1,428
|
![]()
Если I/O значит 800h это номер порта, и просто читать с него инструкцией IN/OUT что-ли? Что-то ничего не возвращает.. Вот лог моста PCI-to-LPC, чипсет ICH-7:
Код:
Нашедшего выход - затаптывают первым..
Последний раз редактировалось R71MT; 06.04.2020 в 15:07. |
![]() |
![]() |
![]() |
#5 | |
Участник клуба
Регистрация: 16.06.2011
Сообщений: 1,428
|
![]()
вот-что говорится про этот офсет PMBASE:
Цитата:
Нашедшего выход - затаптывают первым..
|
|
![]() |
![]() |
![]() |
#6 | ||
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
![]() Цитата:
800h PM1_STS 802h PM1_EN 804h PM1_CNT 808h PM1_TMR ![]() А вообще что вы хотите увидеть или сделать? Там ещё дело такое, что значение по умолчанию 0000h. Это значение регистр получает после сигнала reset и после включения (por - power of reset). БИОС мог настроить, но скорее всего нет. Читаем про регистр PM1_STS (800h) этот регистр устанавливается после включения PM1_EN. Собственно насколько помню его включает уже ОС. А до этого процессор работает в автоматическом режиме. Цитата:
И режим процессора RM,PM или SMM?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . Последний раз редактировалось Pavia; 06.04.2020 в 15:51. |
||
![]() |
![]() |
![]() |
#7 |
Участник клуба
Регистрация: 16.06.2011
Сообщений: 1,428
|
![]()
у меня AMI-BIOS, прожка для RM, это чисто модуль программы, который должен выводить инфу об ACPI. Табличка выше ACPI-Reg-Map у меня тоже есть, просто я не знал как к ней подобраться - сейчас потестирую в RM. А то-что биос мог не настроить регистры - это проблема.. хотя в реальном режиме можно-же парсить ACPI-таблицу вручную, и помню она даже возвращала что-то. Сейчас проверю.. отпишусь..
Нашедшего выход - затаптывают первым..
|
![]() |
![]() |
![]() |
#8 | |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
![]() Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . |
|
![]() |
![]() |
![]() |
#9 |
Участник клуба
Регистрация: 16.06.2011
Сообщений: 1,428
|
![]()
это-же лог моста, там вроде нет такого регистра PMIR.. какое у него смещение?
Нашедшего выход - затаптывают первым..
|
![]() |
![]() |
![]() |
#10 |
Участник клуба
Регистрация: 16.06.2011
Сообщений: 1,428
|
![]()
Pavia спасибо большое!
С вашей помощью всё получилось, и на своём хабе ICH7 получил такие данные.. Значит биос всё-таки настраивает регистры ACPI при включении, и это гуд. Только остался вопрос: частота РМ-таймера где хранится? В теории она 3.579545 MHz вроде, а можно-ли (и как) узнать реальную? Среди регистров ACPI я что-то не нашёл этих данных.. Выхлоп прожки на скрине (R-mode):
Нашедшего выход - затаптывают первым..
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Аssembler технология ACPI | qwe1qwe2qwe3 | Помощь студентам | 2 | 01.04.2013 17:33 |
Синий экран ACPI | ADoO | Операционные системы общие вопросы | 2 | 23.05.2011 17:46 |
Графический чипсет ATI Radeon HD 5145 или NVIDIA GeForce GT 330M? | Ledy | Компьютерное железо | 0 | 19.09.2010 22:38 |
Таблицы ACPI | Тануки | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 0 | 12.10.2009 09:08 |
Литература по ACPI | valerij | Свободное общение | 2 | 16.03.2009 01:21 |