Please refer to the previous ones
- ARTS Tips: Black Apple Core graphics driver – Nuggets
- Nuggets on the content is not complete, detailed content, can refer to ARTS Tips: Black Apple continue to make up lessons – Zhihu
- Can also refer to the public number: learners old six
Recently, there are a lot of things involving black apple. By the way, we will make up lessons together to solve the basic content.
What is ACPI?
ACPI is an open industry specification jointly developed by Hewlett-Packard, Intel, Microsoft, Phoenix and Toshiba. The Advanced Configuration and Power Interface is short for Power Management mode and Configuration Management Interface specification. From the name, you can see that the main “power management” and “configuration management”. BIOS is an advanced function module.
It helps the operating system to properly control and allocate power to computer hardware devices. With ACPI, the operating system can turn off different hardware devices according to the actual situation of the device. Such as Win7 or Win8 system, system sleep, the system to store the current information in memory, only retain memory and other key components of the hardware power, so that the computer is in a high state of power saving. Of course, this is only a small part of its functionality.
It mainly covers the following functions:
- System Power Management
- Device Power Management
- Processor Power Management
- Device and Processor Performance Management
- Configuration/Plug and Play
- System Events
- Battery Management
- Thermal Management
- 4. Embedded Controller
- SMBus Controller (SMBus Controller)
ACPI is becoming more and more important in computer application platforms. ACPI consists of a number of tables, including RSDP, SDTH, RSDT, FADT, FACS, DSDT, SSDT, MADT, SBST, XSDT, ECDT, SLIT, SRAT. DSDT is an important description of it.
What are DSDT and SSDT?
DSDT stands for The Differentiated System Description Table. It is literally a table that describes different information about the system. It contains information about all the different devices except the basic system, that is, the basic system of each computer device is the same, and the different devices are described by DSDT. The DSDT table code is ACPI Machine Language (AML).
DSDT contains information about all devices that are different from the basic system (Basesystem), which is the same for every machine. This is specified in ACPISpec, but every machine is different, so the different devices are mostly described by the DSDT table. It contains a lot of AML code. Most BIOS is developed for Windows, and Windows itself does not fully follow the ACPI specification, so because of BIOS bugs, the code itself may have errors, resulting in other systems, such as Linux, MAC OS errors.
Mac OS X does not fully support the ACPI specification, only its subset, DSDT.
ACPI SSDT is short for Secondary System Descriptor Table, which is also a description Table of the ACPI, containing additional AML information that can be used to interact with hardware. The language used to define is also AML code, and like DSDT, SSDT is usually a complement to DSDT.
What is Renaming ACPI Objects?
Because OS X can rely on the specific ACPI object names used by the MAC, a common patch is to rename an object in the original ACPI collection. For example, most PC notebooks use GFX0 to represent integrated Intel GPU objects (Intel HD Graphics). In OS X, Intel Graphics power management is not enabled unless the device is named IGPU. With static patches, we apply “Rename IGPU to GFX0” to Rename this object. The patch must be applied to the DSDT and all SSDTs that reference it.
Last time we modified this method to solve the problem of 7m core display, the renamed patch will be
Comment: Rename GFX0 to IGPU
Find: <4746 5830>
Replace: <4947 5055>
Copy the code
The hexadecimal values to find and replace are GFX0 and IGPU ASCII codes, respectively, which can be explained by the following code:
u430:~ RehabMan$ echo -n GFX0|xxd
0000000: 4746 5830 GFX0
u430:~ RehabMan$ echo -n IGPU|xxd
0000000: 4947 5055 IGPU
Copy the code
The resources
- [Guide] Hackintosh hotpatch · Mac OS Programmer · Look at the Cloud
- [Guide] Intel IGPU HDMI/DP audio (all Sandy Bridge -> Kaby Lake [and likely later]) | tonymacx86.com
- SSDT GPU (Graphics Card) Injection | tonymacx86.com
- Colorfulshark -CSDN blog – DSDT patch
- [Guide] Booting the OS X installer on LAPTOPS with Clover | tonymacx86.com
- [Guide] Hackintosh SSDT/DSDT · Mac OS Programmer · Look at the Cloud
- [Guide] Intel IGPU HDMI/DP audio (all Sandy Bridge -> Kaby Lake [and likely later]) | tonymacx86.com
- [Guide] Patching LAPTOP DSDT/SSDTs | tonymacx86.com
- Manually extract DSDT and SSDT tutorial | Stephen week’s blog
- [Guide] Using Clover to “hotpatch” ACPI | tonymacx86.com
- SSDT_ Baidu Encyclopedia is not related, but the name is the same
- DSDT — What is it and how do I get it? – Technical FAQ – InsanelyMac Forum
- SSDT | tonymacx86.com
- DSDT | tonymacx86.com
- FAQ-Start Here – Technical FAQ – InsanelyMac Forum
- RSDT – OSDev Wiki
- Advanced Configuration and Power Interface – Wikipedia
- DSDT – ArchWiki
- SSDT Overlays — The Linux Kernel Documentation
- Debug ACPI DSDT and SSDT with ACPICA Utilities | Ubuntu
- SSDTs: Easy Way · GitBook
- Getting Started With ACPI · GitBook
- Uefi.org/sites/defau…
- Choosing the SSDTs · GitBook
- Welcome to Unified Extensible Firmware Interface Forum | Unified Extensible Firmware Interface Forum