Contribute
Register

How to deal with "hidden" SSDTs?

Status
Not open for further replies.
Joined
Jun 1, 2012
Messages
26
Motherboard
GA-Z370-HD3P
CPU
i7-8700
Graphics
RX580
Mac
  1. MacBook Pro
  2. Mac mini
Mobile Phone
  1. iOS
Still trying to get this i7-8700 hackintosh back on its feet; previously it was working via an SSDT made with some fork of ssdtPRgen; I'm now trying to get it to work with plugin-type instead. I am currently stuck on early boot (More-or-less right after FakeSMC starts) and am not seeing any errors; if anything, there's a warning about being blocked when trying to set Fnum but I don't think that's relevant.

Something I have noticed (and I think is probably the problem) is that there is one SSDT that points to seven other tables related to power management; AFAICT it does this by first defining a package with a name, offset and length for each table and then uses some logic to check configuration and then load the tables from the previous offsets and lengths.

Is it possible that using a patched DSDT and SSDTs is shifting the actual offsets for these tables in memory and that's causing the boot process to freeze? Is this irrelevant?
 
Update -- Here's what I did:

- Edited the SSDT in question; removed references to the memory regions for the "hidden SSDTs" as well as the code that actually loaded them in memory, leaving only the the parts of code that returned values some other ssdt or the dsdt might need and then just injected them all manually into patched. This resulted in all ACPI tables loading without errors at least.

The above let me realize I was getting stuck in "PCI Configuration begin", which was solved by disabling "Aggressive LPM" under SATA settings in the BIOS.

Now, I get

AppleNVME Assert failed: fIOMapRegs ErrorExit file (... long path to IONVMEController.cpp line 955) PXSX@: AppleUSBSXHCI::start: Unable to get device memory AppleNVME Assert failed: result DeleteWorkLoop file (... long path to IONVMEController.cpp line 668) AppleUSBLegacyRoot@: AppleUSBLegacyRoot::init: Enabling legacy matching

And then it goes on for a while all the way up-to

rooting via boot-uuid from /chosen: (UUID)

After that it loads the apfs driver but fails to find the root volume (probably related to the earlier NVME errors?)

Any ideas? (This is 10.13.6 BTW but the behavior is identical if I try to boot from a Mojave installer partition on the same drive)

Of note, don't know if it could be contributing to the issue: There is a sleepimage on some partition (probably part of the APFS container... it's not the main disk partition). I can see it via the uefi shell but the shell does not let me delete it.
 
Downgrade your BIOS then boot without custom DSDT. What motherboard do you have?
 
GA-Z370-HD3P

What's the rationale for that or, why would the BIOS break NVME?
 
Hackintosh doesn't work with the lastest bios, best to downgrade. Test and come back with results.
 
I'm not using the latest BIOS. Even if I was, I ran diffs of the initial BIOS revision, the one I'm using now and the latest, and the code relating to SATA and the NVME controller appears to be basically identical.
 
I'm not using the latest BIOS. Even if I was, I ran diffs of the initial BIOS revision, the one I'm using now and the latest, and the code relating to SATA and the NVME controller appears to be basically identical.



Update your build info, it is confusing... good hack.
 
Status
Not open for further replies.
Back
Top