Jump to content
  • 0
iDeepak

How to Create DSDT and SSDT? What is DSDT and SSDT?

Question

Hello everyone,

As we know that for Hackintosh, most of the systems needs a patched DSDT in order to get everything working very well in OSX, and SSDT files are needed for the native cpu power management and Speedsteps to work for the Intel processors(Sandy and Ivy Bridge).?

This my Little Effort to make this very Simple for Generally for Noob or NewBie ,This Post contains Topic:
1.How to Create DSDT
2.How to Create SSDT

What is DSDT ???2rxe642.png

The?Differentiated System Description Table?is the main table in the ACPI part of a computer's BIOS.
The Advanced Configuration and Power Interface (ACPI) defines a large number of tables that provide the interface between an ACPI-compliant operating system and system firmware. These allow description of system hardware in a platform-independent manner in ACPI Machine Language (AML).

The DSDT is the largest and most important table because this is where the motherboard devices are described. As the DSDT, along with other ACPI tables, is stored in the BIOS only on-board hardware is described. The goal is to bypass this often faulty table because of optimization for Windows by a custom one where the declarations are adjusted to the needs of Mac OS X in order to maximize compatibility.

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??Use for Hackintoshes
By loading an edited DSDT via the Chameleon?bootloader?instead of the factory one, the following things can be achieved:

  • faking device-ids via DSDT can replace legacy/injector kexts
  • updates may disable modified or legacy/injector kexts but cannot disable DSDT patches
  • DSDT edits can enable sleep, native speedstepping
  • extensive edits can boost the boot process

Do i really need it?

No, to get a functional Hackintosh you don't need a DSDT. But having one can make your?system running?more stable, lighter (editing this one table replace many extra files).

How to Create/Extract DSDT ???

Requirement :
application for Creating DSDT and Patching
1.For Mac :
MaciASL,DSDT Editor,DSDT Simple Editor.

2.For Windows
Aida64,DSDT Editor.

STEPS::::::For MAC and Winows If you are using DSDT Editor and Pacther:::
1.?Open DSDT Editor, and go to File->'Extract DSDT' from the menu bar.

2a0dr7t.png

?

2.This will create an unedited copy of your motherboard's DSDT.?
3.Goto iASL menubar ,Choose Compile and

alkisw.png

4.If you get any Error ,then choose fix errors after fixing Errors 25rfe54.pngYou will?Prompted

Get Option For Save As AML ,save as DSDT.aml Where you want ,voluh0.png

?

5.If you need to Apply Patches ,Goto Patches Tab choose open(if you have patches in.txt file),New (if you have written or not patches applied from .txt file)1jpzxf.jpg
again Compile it ,,Save as Aml

Put Your DSDT in Extra folder ,add?entry in Org.chameleon.plist by manually adding or using?Chameleon Wizard

<key>DSDT</key><string>/Extra/DSDT.aml</string>

Verifying that the custom DSDT is loaded:

First be sure your file is named?DSDT.aml?and placed in /DSDT.aml?or /Extra/DSDT.aml.
You made / have a custom DSDT and see no changes and your not sure that the DSDT is used and injected by the boot-loader.

Here are some ways to check the loading of a DSDT:



Use bdmesg.

bdmesg ships with the Chameleon boot loader and goes in /usr/bin. bdmesg can be run from Terminal after startup so that you may examine what Chameleon is doing while it boots your Hackintosh.
Type bdmesg in Terminal.app you will see this?
Example Result:

SMBIOS orig was = f0ce0SMBIOS new is = 24ec000Read HFS+ file: [hd(0,3)/Extra/DSDT.aml] 18822 bytes.Read HFS+ file: [hd(0,3)/Extra/SSDT.aml] 1279 bytes.ACPI Table not found: SSDT-1.amlFADT: ACPI Restart Fix applied!FADT: Using custom DSDT!OEM SSDT tables was droppedRSDT: Added 1 SSDT table(s)Starting Darwin x86_64

Tips::: If you got any Error related DSDT then use this Flag DSDT=null.

?

How to Create SSDT???

Creating SSDT ::STEPS::::

Create your SSDT based on the script R. Pike Alpha
Run these commands in terminal

curl -o ssdtPRGen.sh https://raw.github.com/Piker-Alpha/RevoBoot/clang/i386/libsaio/acpi/Tools/ssdtPRGen.shchmod +x ssdtPRGen.sh./ssdtPRGen.sh

After you run it you need to put the?Maximum Frequency?and?Maximum TDP?of your CPU ... see these information about your CPU in here:?http://ark.intel.com/
This is an example of one?i5 2500K?that has?3400MHz(3.4 Ghz)?of maximum frequency and?95?of TDP

sudo ./ssdtPRGen.sh 3400 95

Place the SSDT in?Extra?folder and rename ssdt_pr for SSDT

Final Steps :::

Final adjustments

To make the Chameleon recognize your SSDT, enable?DropSSDT?in org.chameleon

<key>DropSSDT</key><string>Yes</string>

Don't install?the NullCPUPM?and don't enable?P and C States in org.chameleon ...

Don't forget to create a DSDT in future to help the power management

Tips::after trying all steps you will get Kernel Panic then need to use?Patch?AppleIntelCPUPowermanagement.kext

?

If you Don't Understand above method and Don't know What to Do After ??Let Me to Do this

?

?

?

?

?

Credit goes to Deepak

Share this post


Link to post
Share on other sites

3 answers to this question

Recommended Posts

  • 0
The DSDT Editor software wont fix my damn errors... getting frustrated. I clicked "fix errors" like 10000 times.
This function only fixes common errors.

Don't forget that each DSDT is unique and it simply isn't worth it to tailor the feature for every error...

Share this post


Link to post
Share on other sites
  • 0

Hi , i'm it's second yosemite zone installation which the previous was successfull with " /amd64 -v -x npci=0x3000 " but now with the previous dmg file and bootflag i'm getting :

...

DSDT Not Found - using "0" as uid value

PCI Root UID = 0

...

Tried PCIRootUID=0/1/2 , but no hopes.

I thought that this article may help me ; but i dont know how to copy the created DSDT.aml into the restored flash-drive .

NOTE :

I have access to both Windows and Linux

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.