Contribute
Register

OpenCore DMAR ACPI dropping issue

Status
Not open for further replies.
Joined
Jun 24, 2015
Messages
9
Motherboard
Z390 Gaming 5
CPU
i7 9700k
Graphics
vega 56
Mac
  1. Mac Pro
Mobile Phone
  1. Android
I'm having a hard time trying to figure out how to have opencore patch the DMAR on my system. I'm feeling it's 100% user error but I haven't been able to find and follow tutorials on this. I'm at the point where I think it's loading both the patched DMAR.aml and the ACPI version. I've attached the stock system DMAR.aml and the patched ssdt-dmar.aml

here is the ACPI section from opencore
Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>ACPI</key>
    <dict>
        <key>Add</key>
        <array>
            <dict>
                <key>Comment</key>
                <string>ssdt-dmar.aml</string>
                <key>Enabled</key>
                <true/>
                <key>Path</key>
                <string>ssdt-dmar.aml</string>
            </dict>
        </array>
        <key>Delete</key>
        <array>
            <dict>
                <key>All</key>
                <false/>
                <key>Comment</key>
                <string>Delete CpuPm</string>
                <key>Enabled</key>
                <false/>
                <key>OemTableId</key>
                <data>Q3B1UG0AAAA=</data>
                <key>TableLength</key>
                <integer>0</integer>
                <key>TableSignature</key>
                <data>U1NEVA==</data>
            </dict>
            <dict>
                <key>All</key>
                <false/>
                <key>Comment</key>
                <string>Delete Cpu0Ist</string>
                <key>Enabled</key>
                <false/>
                <key>OemTableId</key>
                <data>Q3B1MElzdAA=</data>
                <key>TableLength</key>
                <integer>0</integer>
                <key>TableSignature</key>
                <data>U1NEVA==</data>
            </dict>
            <dict>
                <key>All</key>
                <false/>
                <key>Comment</key>
                <string>Delete standard DMAR table</string>
                <key>Enabled</key>
                <true/>
                <key>OemTableId</key>
                <data></data>
                <key>TableLength</key>
                <integer>0</integer>
                <key>TableSignature</key>
                <data>QSBNIEk=</data>
            </dict>
        </array>
        <key>Patch</key>
        <array>
            <dict>
                <key>Base</key>
                <string></string>
                <key>BaseSkip</key>
                <integer>0</integer>
                <key>Comment</key>
                <string>Replace one byte sequence with another</string>
                <key>Count</key>
                <integer>0</integer>
                <key>Enabled</key>
                <false/>
                <key>Find</key>
                <data>ESIzRA==</data>
                <key>Limit</key>
                <integer>0</integer>
                <key>Mask</key>
                <data></data>
                <key>OemTableId</key>
                <data></data>
                <key>Replace</key>
                <data>RDMiEQ==</data>
                <key>ReplaceMask</key>
                <data></data>
                <key>Skip</key>
                <integer>0</integer>
                <key>TableLength</key>
                <integer>0</integer>
                <key>TableSignature</key>
                <data></data>
            </dict>
            <dict>
                <key>Base</key>
                <string>\_SB.PCI0.LPCB.HPET</string>
                <key>BaseSkip</key>
                <integer>0</integer>
                <key>Comment</key>
                <string>HPET _CRS to XCRS</string>
                <key>Count</key>
                <integer>1</integer>
                <key>Enabled</key>
                <false/>
                <key>Find</key>
                <data>X0NSUw==</data>
                <key>Limit</key>
                <integer>0</integer>
                <key>Mask</key>
                <data></data>
                <key>OemTableId</key>
                <data></data>
                <key>Replace</key>
                <data>WENSUw==</data>
                <key>ReplaceMask</key>
                <data></data>
                <key>Skip</key>
                <integer>0</integer>
                <key>TableLength</key>
                <integer>0</integer>
                <key>TableSignature</key>
                <data></data>
            </dict>
        </array>
        <key>Quirks</key>
        <dict>
            <key>FadtEnableReset</key>
            <false/>
            <key>NormalizeHeaders</key>
            <false/>
            <key>RebaseRegions</key>
            <false/>
            <key>ResetHwSig</key>
            <false/>
            <key>ResetLogoStatus</key>
            <true/>
            <key>SyncTableIds</key>
            <false/>
        </dict>
    </dict>
</dict>
</plist>

and here are the boot errors from opencore.


00:000 00:000 OCS: Failed to parse data field as value with type data and <QSBNIEk=> contents, context <TableSignature>!
00:571 00:571 OC: Failed to drop ACPI 204D2041 0000000000000000 0 (0) - Not Found
 

Attachments

  • DMAR.aml
    168 bytes · Views: 66
  • ssdt-dmar.aml
    136 bytes · Views: 67
TableSignature should be "DMAR", not "A M I".

Code:
    <key>ACPI</key>
    <dict>
        <key>Delete</key>
        <array>
            <dict>
                <key>All</key>
                <false/>
                <key>Comment</key>
                <string>Delete standard DMAR table</string>
                <key>Enabled</key>
                <true/>
                <key>OemTableId</key>
                <data></data>
                <key>TableLength</key>
                <integer>0</integer>
                <key>TableSignature</key>
                <data>RE1BUg==</data>
            </dict>
        </array>

I see there's still a reserved region defined in SSDT-DMAR. You may try this one instead.
 

Attachments

  • ssdt-dmar.aml
    104 bytes · Views: 111
Yes, That looks like it did the trick! Thank you. I had tried that before, but I'm assuming it was the 2nd reserved region goofing me up and that the table signature as I thought.
 
Status
Not open for further replies.
Back
Top