Skip to content

ACPI patching, done the easy way

RevoGirl edited this page Jul 11, 2011 · 23 revisions

Introduction

RevoBoot is different in many ways and we did not want to make an exception for ACPI table patching. The way we do this is not only new and completely different to what you have seen so far, but the way we do it will make it a lot more easier for people to get started.

Getting rid of DSDT.aml

The first thing we did was to look for ways to get rid of the need to extract the ACPI tables, to obtain the DSDT. Many of these extracted tables are floating around the Internet. Patch here. Patch there. All different. All bound to one specific motherboard and BIOS version. Causing trouble. No more.

SSDT hacking

Yes. We still need to patch the ACPI tables, but we do it differently. The easy way. The way it was supposed to be from day one. Enter tiny SSDT.

Tiny SSDT

Tiny SSDT is just a tiny file – hence the name. Smaller than anything (DSDT) you have seen. Making it a lot easier to understand. Eliminating the need to extract the DSDT and strip it to pieces. A painful time wasting process. Prone to errors. Done over and over again. For every new BIOS update. No more with RevoBoot.

Examples

We've made a couple of examples for you. A basic tiny SSDT with the things that need to be patched, and a couple more advanced ones with device removals and some devices that gets renamed. Resulting in something similar to what you get when you go mad and strip your DSDT. Have a look here:

https://github.com/RevoGirl/RevoBoot/wiki/Tiny-SSDT-example-1:-ASUS-P8P67-M-PRO https://github.com/RevoGirl/RevoBoot/wiki/Tiny-SSDT-example-2:-ASUS-P8Z68-V-PRO https://github.com/RevoGirl/RevoBoot/wiki/Tiny-SSDT-example-3:-Full-blown-example

Portability

The way we do it now adds portability i.e. you can use most of the example SSDT's with any motherboard and BIOS version. These are not just made for one specific board and/or BIOS version. Yes. Most of it will work with any bootloader, but you may have to make tiny changes. Making it much easier to control and understand so get going the new way!

  • Note well that when you use board/BIOS specific device names that it will become less portable!

Static Tiny SSDT

You can convert your copy of tiny SSDT and include it in RevoBoot, when you are done and everything works for you, just like you would do for any other ACPI table.

What does this mean for DSDT's?

Nothing really. You can still use a static or dynamically loaded DSDT with RevoBoot. This is just another way of patching the ACPI tables, but one that we believe is easier for people to understand. Also. You can use our tiny SSDT as a starter and go mad when you want to remove/rename devices. The examples are both there for you to look at and learn from so go have fun with them.

Notes

This part of the source code of RevoBoot is currently only in a stage 1 phase and thus our implementation will most likely change and get more advanced in the near future. We just had to get something going so that you can get used to doing it the new way.

Drawbacks

The only thing that we are aware of, currently, is that using a tiny SSDT instead of a stripped down DSDT makes you use a bit more memory due to factory DSDT's being larger than stripped copies of it.