dortania / dortania/bugtracker
[ACPI] Explanation on how to correct MCFG tables
- Dominant language
- No language data
- Stars
- 123
- Forks
- 8
- PR merge metrics
- No merged PRs in 30d
Description
MCFG (Memory Mapped Configuration Space Access) table provides information about PCI configuration space base and is used by IOPlatformPluginFamily.kext to establish CPU power management. This table is essentially a header (44 bytes) and a number of entries (16 bytes each) representing PCI areas.
Apple implementation ignores all the tables that have invalid size, i.e. tables for which (LENGTH - 44) / 16 does not give an integral answer. Some firmware implementations may include accidental zero padding rendering this equation as invalid. To resolve this remove these trailing zeroes and replace the table with the bootloader.
Sample with valid and not valid tables: [Архив.zip](https://github.com/dortania/bugtracker/files/5063491/default.zip). Note, that you will likely have to trim it with a shell command or a hex editor, as iasl cannot compile MCFG.
Mostly legacy systems are affected. E.g. Dell OptiPlex 755 MT (Q35) and some Ivy Bridge boards e.g. B75.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.