Create and Modify Your DSDT.aml

NOTE: As of the latest bios revisions by Gigabyte, the CMOS reset is now fixed.   (2010-05)

Using a DSDT (Differentiated System Description Table) is a necessity for running Snow Leopard on P55 boards. In the simplest of terms, it is a file that you place at the root of your system to tell OS X how to locate and enable features of your computer without checking your BIOS. For further details on what it is and how it works, check out http://wiki.osx86project.org/wiki/index.php/DSDT

You can tweak your system in all sorts of ways by changing lines of code in the DSDT.aml file. Unfortunately, you can't just open this file in TextEdit. From OS X, you must extract your DSDT.aml, convert it to DSDT.dsl, then edit it, then recompile it to DSDT.aml. To make it easy, the good folks from the EvOsx86 Team have made DSDTSE, a GUI application that allows you to do all of this in one convenient editor.

Using what I've learned from many OSx86 gurus, I will show you how to edit your DSDT.aml to allow your system to restart without clearing your CMOS. Other fixes are available for P55 boards as well- I have used the HDEF and USB fixes for my DSDT.
  1. Open DSDTSE. You can download the application from here. This can be tricky- the application sometimes doesnt allow you to open it. Try opening it from a few different locations- I use my external drive.
  2. Under Tools, choose Extract DSDT. The Editor will open with your DSDT.dsl all ready to edit.
  3. Under ACPI search, type _WAK and click search. You should come to a line that looks like this:
  4. Method (_WAK, 1, NotSerialized)
  5. First you must apply the code that allows hacks. Under DSDT hacks in the Main pane menu, select option 1: Method DTGP. Select all of the code at the top of the page. Copy/paste the entire block of code as shown into the editor directly before the _WAK line with a space in between at the beginning and end. Be sure to keep all spacing exactly as it was or the file will not compile and your hack may not work.
  6. Next, we will apply the code that will prevent the CMOS reset. Under ACPI search, type (RTC) and click search. You should come to a line that looks like this:
  7. Device (RTC)
  8. All you have to do here, is change the length of the IO segment in the code below from 0x04 to 0x02. There may be 2 places to make this change- change both.
  9. Under File, click Compile DSDT. The editor will prompt you to Save the file, save it to the default location.
  10. Open /Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.aml
  11. Drag dsdt.aml to your install drive in Finder. Rename it DSDT.aml.
You're done! You now have a system-specific DSDT.aml file that will prevent your P55 system from resetting the CMOS at each boot. The process can be tricky, but this guide should help to make it a bit easier. Special thanks to Stellarola from the Insanelymac boards for discovering this fix! And to netkas for posting it to his blog.

For discussions on this and other topics, register today at tonymacx86.com!