DSDT for noobs

What is a DSDT ?

DSDT for noobs

The Differentiated System Description Table is the main table in the ACPI part of a computer’s BIOS.Advanced Configuration and Power Interface(ACPI) specification provides an open standard for device configuration and power management by the operating system.& Hackintosh is incomplete without ACPI implementation It supplies information about supported power events in a given system. ACPI tables are provided in firmware from the manufacturer It allows the user to better support their hardware. For example, fixing Time Machine and the UUID 35 error is possible after modifying the DSD & it will help in proper injection of hardware in OS X Basically a DSDT table is the code run on ACPI (Power Management) events.

How to Extract  DSDT tables?

From windows :- Install Aida64 right click on status bar at bottom of Aida64 screen
                           and you will see this menu.Select ACPI tool and a new screen 
                           with Save DSDT button will open.Save dsdt file and Boot OS X
                           & rename that file with aml extension 
From Linux:-Extract ACPI tables (as root): #cat/sys/firmware/acpi/tables/DSDT >dsdt.dat 
Download DSDT editor  make sure install Latest Java Update before using this editor
Does DSDT common for all ?
DSDT is different for each computer / Laptos’s You cannot use DSDT from one
 computer in another
How to make DSDT ?
1.Download DSDT editor make sure login before
2.Find your motherboard’s Specific Patch 
3.Extact DSDT from windows or linux 
4.Open extracted DSDT with following editor 

5. On the menu bar, press ‘Patch’ and then ‘Open’. A file browser window will open. Navigate to your desktop and select the motherboard specific patch we just downloaded. Click ‘Open’.
6.A little window will open. Press ‘Apply’. Wait a few seconds while it does its thing, once its complete press ‘Close‘.
7. On the menu bar, press ‘IASL’, then ‘Compile’. A box will open, inside which there may be some messages. Press ‘Fix Errors’. After a second or two, as long as there are 0 errors listed, close the box.
8. On the menu bar, press ‘IASL’, then ‘Save AML As’. A box will open. Navigate to the Desktop, and in the ‘Save As’ bar, type ”DSDT.AML” (without the quotation marks). Press ‘Save’.
9. On your desktop, you should now have a ready to go patched DSDT file.
This thread is a guide on how to prepare a DSDT, for example for use with UserDSDT in multi beast. If error is not recoverable see following syntax for editing

 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 to add patches
type: Definition Block, Scope, Method, Device, Processor, Thermal Zone, All
   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

   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