Die Spezifikation ACPI (Advanced Configuration and Power Interface) ist ein offener Standard, mit dem Betriebssysteme die Erkennung und Konfiguration von verbauter Computer-Hardware durchführen können, um beispielsweise das Energiemanagement durchzuführen. ACPI definiert diese in einer Vielzahl von Tabellen, welche die Schnittstelle zwischen einem ACPI-kompatiblen Betriebssystem und der System-Firmware darstellen.
Dies schließt zum Beispiel die "Differentiated System Description Table" (DSDT) und "Secondary System Description Table" (SSDT), sowie weitere Tabellen mit ein.
Die DSDT.aml ist also eine Art Konfigurations-Datei, die in jedem BIOS eines Mainboards vorhanden ist und die auf dem Board vorhandenen Geräte beschreibt.
Das Format .aml bezieht sich tatsächliche auf eine Datei welche in Maschinensprache kompiliert wurde, während die .dsl-Variante eine Text-basierende Version der gleichen Datei ist, welche sich besser zur Bearbeitung eignet, aber nicht direkt genutzt werden kann.
DSDT.aml, SSDT.aml und alle weiteren .aml-Dateien sind keine Treiber oder Ausführbaren-Dateien, sondern nur Beschreibungen der verbauten Hardware und deren Konfiguration in "ACPI Machine Language Binary", auf Deutsch Maschinensprache...
Die Dateien werden nicht ausgeführt, sondern aus- bzw. eingelesen.
Aber nicht von einem Programm unter Windows, Linux oder macOS, sondern vom jeweiligen Kernel des Betriebssystems. Dieser holt sich die Daten aus dem BIOS.
Mit einem macOS-Bootloader können gepatchte DSDT.aml's oder SSDT.aml's in den Kernel injected und somit die Original Infos aus dem BIOS im Kernel "überschrieben" werden.
Da Windows und Linux eine eigene Hardwareerkennung mitbringen, ist die DSDT von den meisten PC-Mainboards sehr rudimentär gehalten, während für Apple-Geräte im Verhältnis alles haarklein beschrieben wird.
Eine fertige DSDT muss in .aml-Form genutzt werden, ansonsten wird sie beim Starten des System nicht angenommen.
DSDT-Dateien sind nicht mit Kexten vergleichbar, da sie bereits vor dem Starten des Betriebssystems zum Einsatz kommen.
Mit dem Programm Maciasl kann sowohl die .dsl- als auch die .aml-Variante bearbeitet werden (in letzterem Fall erstellt Maciasl im Hintergrund eine textbasierte Form der Tabelle).
Ein kompilieren (bereitstellen/exportieren) ist aber nur möglich, wenn in der DSDT keine Fehler beim Kompilieren auftreten (Compile Button in Maciasl).
Werden beim Kompilieren Warnungen angezeigt, können diese geflissentlich übergangen werden.
Das Patchen per Maciasl erfolgt immer noch manuell, da man die Auswahl der zu nutzenden Patche selbst treffen kann.
Aktuell werden die verfügbaren Patches aus den möglichen Online-Repositories (Patch Zusammenstellungen von Entwicklern) bereitgestellt.
Dabei kann es vorkommen, dass der Patch alleine nicht ausreicht und du tatsächlich noch ein paar Zeilen anpassen musst.