DSDT — что это такое и как его получить?

Страницы:  1

Ответить
Автор
Сообщение

Yello


DSDT
Фон:
ACPI (Advanced Configuration and Power Interface) — это открытая отраслевая спецификация, совместно разработанная компаниями Hewlett-Packard, Intel, Microsoft, Phoenix и Toshiba. настроить устройства материнской платы и управлять их питанием.
Википедия:
Таблицы позволяют описать аппаратное обеспечение системы в независимой от платформы манере и представлены либо в виде структур данных с фиксированным форматом, либо в виде AML. Основная таблица AML — это DSDT (таблица дифференцированного описания системы)
. DSDT — самая большая и важная таблица, поскольку именно в ней описываются устройства материнской платы. Поскольку DSDT вместе с другими таблицами ACPI хранится в BIOS, описывается только встроенное оборудование. Цель состоит в том, чтобы обойти эту часто ошибочную таблицу из-за оптимизации для Windows с помощью пользовательской таблицы, в которой объявления настраиваются в соответствии с потребностями Mac OS X, чтобы максимизировать совместимость.
Использование для хакинтошей
Загрузив отредактированный DSDT через загрузчик Chameleon вместо заводского, можно добиться следующих результатов:
  • подделка идентификаторов устройств с помощью DSDT может заменить устаревшие/инжекторные кексы
  • обновления могут отключать модифицированные или устаревшие/инжекторные кексы, но не могут отключать исправления DSDT.
  • Редактирование DSDT может включить сон, встроенный спидстеп
  • обширные правки могут ускорить процесс загрузки
Мне это действительно нужно?
Нет, чтобы получить функциональный Hackintosh, вам не нужен DSDT. Но наличие такой таблицы может сделать вашу систему более стабильной и легкой (редактирование этой одной таблицы заменит множество дополнительных файлов).
Как извлечь DSDT
Mac OS X:
убедитесь, что пользовательский/модифицированный DSDT еще не введен.
Clover bootloader — использование графического интерфейса
В графическом интерфейсе Clover нажмите кнопку F4 , а затем загрузите OS X в обычном режиме.
Когда OS X уже инициализирована, смонтируйте/откройте раздел EFI, и вы сможете найти все свои таблицы ACPI в /EFI/Clover/ACPI/origin/
Linux — через Терминал и Live-CD/DVD:
Код:
cat /proc/acpi/dsdt > dsdt.aml
Windows:
AIDA64 или аналогичные инструменты
.dsl / .aml — компиляция и декомпиляция
При извлечении из системы DSDT и другие таблицы находятся на машинном языке ACPI (расширение файла .aml).
Чтобы внести изменения, DSDT необходимо декомпилировать (расширение файла .dsl).
Программа для компиляции и декомпиляции таблиц ACPI называется iASL. Последнюю версию для Mac OS X можно скачать:
iaslMe
MaciASL (with updated iasl5 15.10.2014)
только iasl5 (latest version 15.10.2014) (просто переименуйте его в iasl, если хотите поместить в /usr/bin)
Ошибки компиляции:
Использование более новых версий iASL, чем исходный DSDT, часто приводит к ошибкам компиляции. Чтобы исправить ошибки и адаптировать новые рекомендации по коду, также загляните в эту тему .
Редактирование DSDT
Файлы DSDT.dsl можно редактировать в любом текстовом редакторе.
Мы поговорим об исправлениях DSDT в следующем посте в этой теме, но это может занять некоторое время, потому что мы хотим дать подробные объяснения и справочную информацию, чтобы сделать исправления доступными для любого оборудования.
Хороший метод — использовать Textmate и выбрать подсветку разметки C++. Существуют также утилиты, включающие компилятор iasl, например: DSDTEditor DSDTSE.

DSDT editor and patcher

El Coniglio выпустила этот редактор DSDT с возможностью автоматической установки исправлений.
Окна основного редактора позволяют пользователю открыть файл DSL или извлечь DSDT из IOReg. Он имеет некоторые полезные ресурсы, такие как подсветка синтаксиса, дерево навигации и некоторые параметры, которые поставляются с компонентом текстового редактора, который он использует, например сопоставление регулярных выражений, автоматическое завершение, переход к паре и т. д.
Окно патчера анализирует скриптовый язык, представляющий патчи. Пользователь может предварительно просмотреть изменения перед их применением. Этот «язык» позволяет нам писать динамические патчи, которые можно применять в различных ситуациях. Более конкретные команды могут быть написаны по мере необходимости.
На данный момент это реализованные команды (которые могут быть разделены знаком ";")
syntax:
into [ ... ] begin [action_argument] end
(will be applied to the first occurrence)
into_all [ ... ] begin [action_argument] end
(will be applied to all occurrences)
where
type: DefinitionBlock, Scope, Method, Device, Processor, ThermalZone, All
property:
label -- first argument for the constructor of selected type
name_adr -- Name (_ADR) value
name_hid -- Name (_HID) value
code_regex -- regular expression to match the code of the selected type (not other types inside of it)
code_regex_not -- regular expression NOT to match the code of the selected type (not other types inside of it)
parent_label -- parent label
parent_type -- parent type
parent_adr -- parent _ADR value
parent_hid -- parent _HID value
action:
insert -- inserts the provided code to the type
set_label -- sets the label
replace_matched -- replaces the matched code for the property with the provided code. Regex groups are inserted with %1, %2, ... up to %9
replaceall_matched -- same as replace_matched but will affect all matches
remove_matched -- removes the matched code
removeall_matched -- removes all the ocurrencies of the matched code
remove_entry -- removes the entry and all children nodes
replace_content -- replaces the content of the object (everything inside its main brackets)
store_%8 -- stores the matched group 1 into %8
store_%9 -- stores the matched group 1 into %9
note: replacer will always consider the last provided value

Скачать: (последнее обновление: 17 мая 2012 г.)
Mac OS: DSDTEditor_Mac.zip
Linux и Windows: DSDTEditor_Linux_Windows.zip
Как применить патч: см. видео
MaciASL - Самый актуальный редактор DSDT.
После того, как вы применили исправления, вам нужно сохранить DSDT как .aml, например: DSDT.aml .
Почему чужие файлы DSDT могут вызывать проблемы
Даже небольшие аппаратные различия приведут к разным таблицам и могут вызвать проблемы. Чтобы убедиться, что модифицированный DSDT совместим с вашей системой, сравните два файла.
Следующие строки могут вызвать проблемы:
Код:
OperationRegion (BIOS, SystemMemory, xx(some hex value)xx
OperationRegion (^LPCR, SystemMemory, xx(some hex value)xx
Если эти значения в вашем DSDT отличаются, замените шестнадцатеричные значения в другом измененном DSDT собственными значениями.
Проверка загрузки пользовательского DSDT:
Сначала убедитесь, что ваш файл называется DSDT.aml и находится в папке /DSDT.aml или /Extra/DSDT.aml.
Вы создали/имели собственный DSDT и не видите никаких изменений, и вы не уверены, что DSDT используется и внедряется загрузчиком.
Вот несколько способов проверить загрузку DSDT:
Используйте bdmesg.
bdmesg поставляется с загрузчиком Chameleon и находится в /usr/bin. bdmesg можно запустить из терминала после запуска, чтобы вы могли проверить, что делает Chameleon, пока он загружает ваш Hackintosh.
Выдержка из вывода bdmesg, последняя строка показывает загрузку DSDT.aml:
Код:
Loading Darwin 10.7
Loading kernel cache /System/Library/Caches/com.apple.kext.caches/Startup/kernelcache
Read HFS+ file: [hd(0,2)/System/Library/Caches/com.apple.kext.caches/Startup/kernelcache] 4096 bytes.
Read HFS+ file: [hd(0,2)/System/Library/Caches/com.apple.kext.caches/Startup/kernelcache] 18150026 bytes.
Read HFS+ file: [hd(0,1)/Extra/DSDT.aml] 22762 bytes.
Извлеките свой DSDT в OS X. Если вы получите модифицированный DSDT, это означает, что он загружен.
Дампы оригинальные Apple DSDT
 

Yello


ПОЛНАЯ ИНСТРУКЦИЯ DSDT/SSDT AML/DSL!ХАКИНТОШ!МАСТЕР-КЛАСС!

 
logo
Error