Проработка DSDT.aml для ASUS G73JH

DSDT (Different System Description Table) - Таблица Дифференцирования Описания Системы, т.е. это таблицы, в которых описывается как наша система и наши устройства должны работать и где их найти.

В каждом компьютере этот DSDT храниться в BIOS системы, и так система понимает с чем она имеет дело. Но Mac OS X не знает что такое BIOS и поэтому просто не может получить к нему доступ и узнать, что же у нас есть в системе. Поэтому мы должны объяснить Mac OS X, и рассказать ей, что же в нашей системе есть и как же оно будет работать.

Ни в коем случае нельзя использовать DSDT другого компьютера у себя, так как у вас или не загрузиться Mac OS X, или же не определяться устройства, или же есть шанс повредить компьютеру.

Получаем DSDT в Windows

Для этого нам необходим некоторый инструментарий. С Windows проще. Необходима всего лишь FinalWire AIDA64.

Необходимо нажать правой кнопкой на строке состояния. Именно внизу, возможно левее от середины экрана. И должно появиться меню как на рисунке и выбрать в меню пункт ACPI Tool.


Нажимаем кнопку Save DSDT. И указываем куда сохранять этот файл. Дайте ему имя dsdt. После нажатия на кнопку “Save DSDT” у нас появиться файл dsdt.bin.


Переименовываем этот файл в dsdt.aml и вот это наш dsdt.aml.

Получили DSDT. Что дальше?

Вот так мы получили DSDT, но это еще не все. Перед редактированием или каким либо изменением нужно исправить в нем все ошибки и скомпилировать. Для этого нам понадобиться программа DSDT SE. Это редактор для редактирования DSDT файлов, а также компилирование их.

Начнем. Запускаем наш DSDT SE и открываем ранее полученный dsdt файл. Чтобы открыть файл, нужно или войти в меню File-> Open .aml.


Слева главное окно нашего DSDT SE, которое вы видели ранее. справа окно редактора, в котором открытый нами файл. Вот в нем мы и будем работать основное время.


Дело в том что вот этот текст, который мы редактируем, нужно перевести в такой вид чтобы наша Mac OS поняла его и внесла изменения. Для этого необходимо сделать компиляцию. Естественно это делается с помощью кнопки Compile DSDT.

  • Поле Locate используеться для быстрого перехода в большом файле по секциям. Каждая секция отвечает за свою функциональность и свою часть устройств.
  • Поле Search необходимо для поиска какого либо слова. Дело в том что если ввести слово и нажать Search, то он найдет только первое его совпадение. Если нажать на Next, то последующие совпадения.
  • Поле Replace соответственно для замены слова, которое мы ищем на слово, которое введем в поле Replace.
  • Поле Go to line используеться для быстрого перехода на нужную строку.

Теперь приведем наш dsdt файл в порядок. Нажимаем на кнопку Compile DSDT. У нас отображаеться окно с ошибками в нашем dsdt.


Intel ACPI Component Architecture
ASL Optimizing Compiler version 20091214 [Dec 16 2009]
Copyright (C) 2000 - 2009 Intel Corporation
Supports ACPI Specification Revision 4.0

~/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 10618:             Method (GLCS, 1, NotSerialized)
Warning  1088 -                                                       Not all control paths return a value ^  (GLCS)
Это значит что ваш метод должен возвращать значение, а не возвращает. Достаточно в конце метода написать Return (0x00) и ошибка исправлена.

~/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 13331:         Method (OCRT, 1, NotSerialized)
Warning  1088 -                                                   Not all control paths return a value ^  (OCRT)

~/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 13503:         Method (OCR2, 1, NotSerialized)
Warning  1088 -                                                   Not all control paths return a value ^  (OCR2)

~/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 15986:                                 Name (_T_0, Zero)
Remark   5111 -                                                                                Use of compiler reserved name ^  (_T_0)
Это значит что вы используетет уже зарезервированое имя. То есть достаточно убрать подчеркивание спереди и все.
Исходный код:
Исправленный код:


~/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 16538:             Acquire (MUTE, 0x03E8)
Warning  1105 -                                                                Possible operator timeout is ignored ^ 

~/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 16552:             Acquire (MUTE, 0x03E8)
Warning  1105 -                                                                Possible operator timeout is ignored ^ 

~/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 16567:             Acquire (MUTE, 0x03E8)
Warning  1105 -                                                                Possible operator timeout is ignored ^ 


~/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 16582:             Acquire (MUTE, 0x0FFF)
Warning  1105 -                                                                Possible operator timeout is ignored ^ 

~/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 16596:             Acquire (MUTE, 0x03E8)
Warning  1105 -                                                                Possible operator timeout is ignored ^ 

~/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 16611:             Acquire (MUTE, 0x03E8)
Warning  1105 -                                                                Possible operator timeout is ignored ^ 

~/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 16626:             Acquire (MUTE, 0x03E8)
Warning  1105 -                                                                Possible operator timeout is ignored ^ 

~/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 17506:                     And (CTRL, 0x1E)
Warning  1106 -                                                      Result is not used, operator has no effect ^ 
https://plus.google.com/104013848733700885499/posts/KaULGYsTv4o


ASL Input:  ~/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl - 18351 lines, 510844 bytes, 7281 keywords
AML Output: ~/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/./dsdt.aml - 61573 bytes, 1884 named objects, 5397 executable opcodes

Compilation complete. 0 Errors, 11 Warnings, 1 Remarks, 2612 Optimizations

По окончанию редактирования и исправления ошибок вы получите чистый dsdt.aml файл, который можно будет установить в систему для дальнейшего использования и редактирования. этот файл что у вас получился, сохраните для будущего редактирования и сделайте копию.

Intel ACPI Component Architecture
ASL Optimizing Compiler version 20091214 [Dec 16 2009]
Copyright (C) 2000 - 2009 Intel Corporation
Supports ACPI Specification Revision 4.0

ASL Input:  ~/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl - 18351 lines, 510933 bytes, 7284 keywords
AML Output: ~/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/./dsdt.aml - 61582 bytes, 1884 named objects, 5400 executable opcodes

Compilation complete. 0 Errors, 0 Warnings, 0 Remarks, 2615 Optimizations

При выходе из редактора согласимся сохранить файл dsdt.dsl в окне "Save .dsl".

--