shiecldk Posted August 27, 2015 Share Posted August 27, 2015 Please help me remove the errors. DSDT.aml.zip Update 8/31/2015 Need help fixing "OperationRegion GPIO" in post #8 Link to comment Share on other sites More sharing options...
jl4c Posted August 27, 2015 Share Posted August 27, 2015 into method label ADBG replace_content begin Return(0) end; Source: https://github.com/RehabMan/Laptop-DSDT-Patch Link to comment Share on other sites More sharing options...
shiecldk Posted August 27, 2015 Author Share Posted August 27, 2015 into method label ADBG replace_content begin Return(0) end; Source: https://github.com/RehabMan/Laptop-DSDT-Patch Thanks! But I still have 23 syntax errors. Any idea? Btw, I'm using MaciASL in ACPI 5.0 mode. Link to comment Share on other sites More sharing options...
jl4c Posted August 27, 2015 Share Posted August 27, 2015 Use iasl5 1 Link to comment Share on other sites More sharing options...
shiecldk Posted August 27, 2015 Author Share Posted August 27, 2015 Use iasl5 Thanks! I download a new MaciASL with new iasl5 inside, and now there is no errors at all. (But coming with 81 Warrings and hundreds of Remarks and Optimzations.... lol) Link to comment Share on other sites More sharing options...
Mirone Posted August 27, 2015 Share Posted August 27, 2015 (But coming with 81 Warrings and hundreds of Remarks and Optimzations.... lol) You can ignore these warnings. 1 Link to comment Share on other sites More sharing options...
crusher Posted August 27, 2015 Share Posted August 27, 2015 You have patches on PJALM fixes for this mobo on Gigabyte section!!!! 2 Link to comment Share on other sites More sharing options...
shiecldk Posted August 31, 2015 Author Share Posted August 31, 2015 In order to test thunderbolt dsdt codes (for Hot swapping & TB Ethernet), I'm trying to embed Real Mac's OperationRegion GPIO into my dsdt. But I have repeated names in OperationRegion GPR in my original dsdt and recognized as errors. Could anyone help me to combine these two together? OperationRegion (GPIO, SystemIO, \GPBS, 0x64) Field (GPIO, ByteAcc, NoLock, Preserve) { , 5, GU05, 1, Offset (0x01), Offset (0x02), Offset (0x03), Offset (0x04), GD00, 1, , 3, GD04, 1, , 5, GD10, 1, , 1, GD12, 1, , 1, GD14, 1, Offset (0x07), GD24, 1, Offset (0x08), Offset (0x0C), , 3, GP03, 1, GP04, 1, GP05, 1, GP06, 1, GP07, 1, GP08, 1, GP09, 1, GP10, 1, GP11, 1, GP12, 1, GP13, 1, GP14, 1, GP15, 1, GP16, 1, GP17, 1, GP18, 1, GP19, 1, GP20, 1, GP21, 1, GP22, 1, GP23, 1, GP24, 1, , 2, GP27, 1, GP28, 1, Offset (0x10), Offset (0x18), GB00, 8, GB01, 8, GB02, 8, GB03, 8, Offset (0x2C), GI00, 1, , 2, GI03, 1, GI04, 1, GI05, 1, GI06, 1, Offset (0x2D), GI08, 1, GI09, 1, GI10, 1, GI11, 1, Offset (0x2E), Offset (0x2F), Offset (0x30), Offset (0x31), Offset (0x32), Offset (0x33), Offset (0x34), Offset (0x35), GD40, 1, GD41, 1, GD42, 1, , 1, GD44, 1, , 1, GD46, 1, Offset (0x36), , 6, GD54, 1, , 4, GD59, 1, GD60, 1, Offset (0x38), , 1, GP33, 1, , 2, GP36, 1, Offset (0x39), GP40, 1, GP41, 1, GP42, 1, , 1, GP44, 1, GP45, 1, GP46, 1, Offset (0x3A), GP48, 1, GP49, 1, GP50, 1, GP51, 1, GP52, 1, GP53, 1, GP54, 1, , 4, GP59, 1, GP60, 1, Offset (0x3C), Offset (0x40), Offset (0x41), Offset (0x42), Offset (0x43), Offset (0x44), , 4, GD68, 1, GD69, 1, GD70, 1, GD71, 1, GD72, 1, GD73, 1, GD74, 1, , 4, , 8, , 8, Offset (0x48), GP64, 1, , 3, GP68, 1, GP69, 1, Offset (0x49), GP72, 1, GP73, 1, GP74, 1, Offset (0x4A), Offset (0x4B), Offset (0x4C) } OperationRegion (GPR, SystemIO, GPBS (), 0x0400) Field (GPR, ByteAcc, NoLock, Preserve) { GU00, 8, GU01, 8, GU02, 8, GU03, 8, GIO0, 8, GIO1, 8, GIO2, 8, GIO3, 8, Offset (0x0C), GL00, 8, GL01, 8, GL02, 8, GP24, 1, , 2, GP27, 1, GP28, 1, Offset (0x10), Offset (0x18), GB00, 8, GB01, 8, GB02, 8, GB03, 8, Offset (0x2C), GIV0, 8, GIV1, 8, GIV2, 8, GIV3, 8, GU04, 8, GU05, 8, GU06, 8, GU07, 8, GIO4, 8, GIO5, 8, GIO6, 8, GIO7, 8, GL04, 8, GL05, 8, GL06, 8, GL07, 8, Offset (0x40), GU08, 8, GU09, 8, GU0A, 8, GU0B, 8, GIO8, 8, GIO9, 8, GIOA, 8, GIOB, 8, GL08, 8, GL09, 8, GL0A, 8, GL0B, 8 } Link to comment Share on other sites More sharing options...
TheRacerMaster Posted August 31, 2015 Share Posted August 31, 2015 Sounds like your ACPI tables were disassembled incorrectly; when I did it (extracted them from the UEFI image), I got zero errors. You need to extract all of the SSDTs with the DSDT, place them in the same folder, and disassembled them properly with iasl: iasl -da -dl *.aml With this, I get zero errors in the DSDT: ASL Input: DSDT.dsl - 20243 lines, 632926 bytes, 9026 keywords AML Output: DSDT.aml - 74594 bytes, 2266 named objects, 6760 executable opcodes Compilation complete. 0 Errors, 81 Warnings, 129 Remarks, 340 Optimizations I'm not sure if GPIO is used for Thunderbolt hotplugging. I do not have any Thunderbolt hardware, but I think it might (key word might, I am not 100% sure) it has to do with the _GPE methods, or some of the other methods under the Thunderbolt device in a real Mac's ACPI tables. I've attached a disassembled ACPI table dump from an iMac15,1 (Retina 5K) [thanks to Pavo] which has the same Thunderbolt 2 controller (Intel DSL5520). SSDT-4 contains the Thunderbolt device. Perhaps it could be of some use. Also, I think you can drop all of your OEM SSDTs except for the SaSsdt, which contains your graphics devices and HDMI audio devices. iMac15,1 ACPI.zip 1 Link to comment Share on other sites More sharing options...
TheRacerMaster Posted September 1, 2015 Share Posted September 1, 2015 RampageDev claims to have gotten one of the Thunderbolt ports on the GA-Z97X-UD7 TH working with hot plug support with an SSDT edit, but it appears he never released it. 1 Link to comment Share on other sites More sharing options...
shiecldk Posted September 1, 2015 Author Share Posted September 1, 2015 (edited) Sounds like your ACPI tables were disassembled incorrectly; when I did it (extracted them from the UEFI image), I got zero errors. You need to extract all of the SSDTs with the DSDT, place them in the same folder, and disassembled them properly with iasl: iasl -da -dl *.aml With this, I get zero errors in the DSDT: ASL Input: DSDT.dsl - 20243 lines, 632926 bytes, 9026 keywords AML Output: DSDT.aml - 74594 bytes, 2266 named objects, 6760 executable opcodes Compilation complete. 0 Errors, 81 Warnings, 129 Remarks, 340 Optimizations I'm not sure if GPIO is used for Thunderbolt hotplugging. I do not have any Thunderbolt hardware, but I think it might (key word might, I am not 100% sure) it has to do with the _GPE methods, or some of the other methods under the Thunderbolt device in a real Mac's ACPI tables. I've attached a disassembled ACPI table dump from an iMac15,1 (Retina 5K) [thanks to Pavo] which has the same Thunderbolt 2 controller (Intel DSL5520). SSDT-4 contains the Thunderbolt device. Perhaps it could be of some use. Also, I think you can drop all of your OEM SSDTs except for the SaSsdt, which contains your graphics devices and HDMI audio devices. Thanks! I've figured it out. That's exactly what I've done. Btw, I use the latest complied iasl, which is 20150619, by google searching and found hackintoshosx.com... As I don't know how to comply the newest 20150818 source code from acpica.org in OSX lol. That's the same ACPI files I'm investigating right now! Ha ha. I'm trying to insert all thunderbolt-related codes located in SSDT-4 (PcieTbt) to my current DSDT. And some required keys is located in GPIO in DSDT. I'm dropping SSDTs like CpuPm and Cpu0Ist with help of Clover. MaciAsl consoled errors of repeated names in "OperationRegion GPR", after I inserted "OperationRegion GPIO". So I tried to delete the entire "OperationRegion GPR", and there is another error of "Object does not exist (GL08)". Therefore, I added GPR's GL08 into GPIO: OperationRegion (GPIO, SystemIO, GPBS (), 0x64) Field (GPIO, ByteAcc, NoLock, Preserve) { , 5, GU05, 1, //skip... Offset (0x40), GL08, 8, Offset (0x41), //skip... Offset (0x4C) } Hope it'll be no problem if I do nothing to "(GPIO, SystemIO, GPBS (), 0x64)" after adding it? Thunderbolt DSDT fixes were tried and tested over a year ago with no success. On PCs the TB controller is not initialized in the same mode as on a Mac there for the Mac OS never sees it as TB but merely as normal PCIe. We even atempted to extract the TB EFI module from a mac pro and insert to a PC UEFI with no success. While Ignoring warnings will let you compile, its still not good to ignore them, just use my patch for this mobo, its not that hard. Good to see you in here PJALM! I did see your repo fixs and fixed some warnings. Could you help me fix the rests? This is my current DSDT with thunderbolt patches. (Not tested yet) DSDT_TB_P1.dsl.zip And this is my original DSDT extracted by iasl if you are interesting. Bios version is F6d DSDT_F6d_Original.dsl.zip Btw, I found out if I add this method (in the code boxes) under RP05.UPSB.DSM, OS X simply won't boot at all and stuck at PCI Configuration or FakeSMC. And could you point me to the TB EFI module source? I'll post the exact screenshot later. Scope (_SB.PCI0.RP05.UPSB) { Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { Name (_T_1, Zero) // _T_x: Emitted by ASL Compiler Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler If (OSDW ()) { If (LEqual (Arg0, Buffer (0x10) { /* 0000 */ 0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44, /* 0008 */ 0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B })) { Store (Package (0x02) { "PCI-Thunderbolt", 0x01 }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } If ((Arg0 == ToUUID ("1730e71d-e5dd-4a34-be57-4d76b6a2fe37"))) //skip... Else { Return (Buffer (One) { 0x00 /* . */ }) } Return (Zero) } } } Another tricky thing is that, if I put the DSDT into Clover without flash the DSDT into Bios, thunderbolt will not load at all when I check IOReg and thunderbolt-related kext won't load too. RampageDev claims to have gotten one of the Thunderbolt ports on the GA-Z97X-UD7 TH working with hot plug support with an SSDT edit, but it appears he never released it. I've seen that page too. Seems he's not gonna publish it, since according to his claim hot plug only work in one port sometimes? I did ask him about thunderbolt problem too, he said the ports are usable without DSDT modifications, but my TB to Ethernet adapter just can't work... And I'd like to fix the slow boot speed problem without deleting AppleThunderboltNHI.kext after enabling thunderbolt. Edited September 1, 2015 by shiecldk Link to comment Share on other sites More sharing options...
En0r1m Posted September 1, 2015 Share Posted September 1, 2015 Thunderbolt DSDT fixes were tried and tested over a year ago with no success. On PCs the TB controller is not initialized in the same mode as on a Mac there for the Mac OS never sees it as TB but merely as normal PCIe. We even atempted to extract the TB EFI module from a mac pro and insert to a PC UEFI with no success. While Ignoring warnings will let you compile, its still not good to ignore them, just use my patch for this mobo, its not that hard. Could you tell us how and what are the advantages to eliminate all Warnings and Remarks? Link to comment Share on other sites More sharing options...
TheRacerMaster Posted September 1, 2015 Share Posted September 1, 2015 Have you set the Thunderbolt Security mode to legacy in your BIOS? You also might need to boot Windows and install the Thunderbolt drivers before the ports will work (not 100% sure). Link to comment Share on other sites More sharing options...
Mirone Posted September 1, 2015 Share Posted September 1, 2015 While Ignoring warnings will let you compile, its still not good to ignore them, just use my patch for this mobo, its not that hard. It's not hard to use your Patch, but It seems that your Patch was unable to fix all Warnings. Don't believe everything he says. We have been working on a TB fix for over a year now with no luck. I never mentioned 'Remarks' as a remark is just a comment but a warning is definitely something you need to pay attention too. Is it really that hard to fix them? However, even the remarks are easy fixes. You answer a question with a question, you're really funny guy. Link to comment Share on other sites More sharing options...
shiecldk Posted September 2, 2015 Author Share Posted September 2, 2015 Have you set the Thunderbolt Security mode to legacy in your BIOS? You also might need to boot Windows and install the Thunderbolt drivers before the ports will work (not 100% sure). I'm already in Legacy mode , not even had I ever tried Unique ID mode. I haven't installed Windows yet, will try later. Does that means each time I want to use thunderbolt, I need to boot into Windows first? Is it possible to develop a thunderbolt driver just like BTFirmwareUpdater but it's out of my ability as a student of dept. physics. Link to comment Share on other sites More sharing options...
En0r1m Posted September 8, 2015 Share Posted September 8, 2015 Don't believe everything he says. We have been working on a TB fix for over a year now with no luck. I never mentioned 'Remarks' as a remark is just a comment but a warning is definitely something you need to pay attention too. Is it really that hard to fix them? However, even the remarks are easy fixes. being so easy you could explain how to correct them? Link to comment Share on other sites More sharing options...
TheRacerMaster Posted September 8, 2015 Share Posted September 8, 2015 iASL compiler output is pretty straightforward, what warnings are you getting? Link to comment Share on other sites More sharing options...
En0r1m Posted September 9, 2015 Share Posted September 9, 2015 No difficulty, my skills go beyond that,but for others it would be interesting to know. Link to comment Share on other sites More sharing options...
eliassilvaa Posted September 9, 2015 Share Posted September 9, 2015 Hello!I want to create my own DSDT for my Gigabyte GA-Z97X-UD7 TH. I used MaciASL with the PJALMpatch but when I try to compile it shows me this error:Line: 20739Code: 6126Message: systax error, unexpected $end and premature End-Of-File. I attached the original DSDT (the one that opens when you open the program) and the patched one (with the error)DOWNLOAD FILESThanks,Elias.Ps. The compiler is in ACPI 5.0 Link to comment Share on other sites More sharing options...
TheRacerMaster Posted September 9, 2015 Share Posted September 9, 2015 Most likely caused by incorrect disassembly. Try dumping all of the original ACPI tables (DSDT+SSDTs in binary AML format), then use iasl to disassemble them with "iasl -da -dl DSDT.aml SSDT*.aml. Also, your "original" DSDT is not original, it already has many patches (such as the DTGP method, not recommended) applied to it. You should start with a cleanly-extracted DSDT (from Linux or Clover F4), disassemble it properly, and then patch it. I personally don't really use DSDT patches anymore, I use Clover config.plist binpatches in combination with a tinySSDT with the fixes I need. Link to comment Share on other sites More sharing options...
maleorderbride Posted October 21, 2015 Share Posted October 21, 2015 In response to JPALM's (now deleted?) post about Thunderbolt only showing as PCIe lanes or devices. That is not strictly accurate. Several times now I have gotten Thunderbolt to show in System Profiler as being installed and the Thunderbolt Bridge to show in Network. I cloned a drive the last time I did it and set it on the shelf to study later, but haven't gotten back to it. In each instance it involved me doing a fresh installation and having Thunderbolt already working (and in legacy mode I think) at the time of the installation. I tried re-triggering the setup wizard to see if that would recreate the circumstances, but it did not. You can find other people that have had the same sporadic results. I had no special DSDT edits, just the latest BIOS on an X99 Deluxe. I have done it in both 10.9.5 & 10.10.5. Obviously 10.10.5 has additional complications if you are using IOPCIFamily or AppleACPIPlatform rollback kexts. I believe the ThunderboltNIH kext is necessary to get this to happen. Don't delete it! In the meantime, I have an ASRock motherboard that is driving me crazy as it has working thunderbolt (drives mount) after any CMOS reset, but not on subsequent restarts are power-ups. Gah...Advice anyone? ASRock Extreme4 /w ASUS dual TB card. Link to comment Share on other sites More sharing options...
remote.syst3m Posted December 1, 2016 Share Posted December 1, 2016 Sup all, Just started working on this with two boards. Asus X99e ws and GB X99 Designaire. I've had similar drive issues on startup. Also, seems to work better when I reset the CMOS when using the Asus dual tb board... BTW, it's critical to install Windows, install the TB driver and Update the FW. Nothing would work until this was done. I'm currently on 10.12 Sierra, with 6950x Asus X99E WS Link to comment Share on other sites More sharing options...
Recommended Posts