dortania / dortania/bugtracker

[ACPI] Explanation on how to correct MCFG tables

Open
#56 0 comments 2 reactions 0 assignees View on GitHub
error GettingStartedWithACPI
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.