Contribute
Register

Z690 Chipset Motherboards and Alder Lake CPU

He will tell us
Hi you have to enable ProvideCurrentCpuInfo quirk and use modified SSDT-PLUG-ALT.aml will help you to boot the system.
 
Great !
does it need NVRAM reset to work ?

could you post your Ioreg to analyze all parameters in subtree ?
After doing all you said it just apare. Don't know if NVRAM reset helped. One more step........ Thanx man!
 

Attachments

  • iMacPro1,1.ioreg
    27.3 MB · Views: 47
Hi you have to enable ProvideCurrentCpuInfo quirk and use modified SSDT-PLUG-ALT.aml will help you to boot the system.
Can you share your EFI?
Also, a Geekbench 5 screenshot? :)
 
Can you share your EFI?
Also, a Geekbench 5 screenshot? :)
I am using the same EFI from @CaseySJ build guide. the difference I have added is enabled ProvideCurrentCpuInfo quirk and used @StefanAM 16CPU count SSDT-PLUG-ALT.aml. I will post my Geekbench shortly.
 

Attachments

  • Screen Shot 2021-11-21 at 14.38.44.png
    Screen Shot 2021-11-21 at 14.38.44.png
    87.8 KB · Views: 80
Here is my geekbench score. @CaseySJ the geekbench still sees only 8-Cores...
Correct. On i7-12700K and i9-12900K there are 8 P-Cores and 16 Hyper Threads. E-Cores are disabled by SSDT-PLUG-ALT.aml because macOS will crash if we add them to the SSDT.
 
@StefanAM You've made an extraordinary find! I suppose vit9696 and the Acidanthera team found it was only necessary to provide a processor stub, as in their new SSDT-PLUG-ALT, without any connection to the actual processor device. And then quirk ProvideCurrentCpuInfo sufficiently disables the topology check to allow leaving all cores on.

This, however, introduces a minor complication: To leave all cores on and hyperthreading on in BIOS for other OSes, one then needs to have a specific SSDT depending on the CPU model; there no longer is a universal wrapping SSDT.
From the results by @sjoseph and @CaseySJ only the number of P cores matters, so there would only be two SSDTs at this point: 8 P-cores for i9-12900K or i7-12700K; 6 P-cores .

I have streamlined the code, to make future adaptations even easier, and compiled two SSDTs.
SSDT-PLUG-ALT-8P.aml for i9-12900K or i7-12700K
SSDT-PLUG-ALT-6P.aml for i5-12600K
These replace both SSDT-CPUR-Z690.aml and SSDT-PLUG.aml for those who use the EFIs from this thread, or replace SSDT-PLUG-ALT.aml for those who have switched to Acidanthera's SSDT, or use the Z690 Aero G EFI.
Quirk ProvideCurrentCpuInfo must be enabled, all P and cores enabled, hyperthreading enabled in BIOS.
If you can confirm that these SSDTs work, I'll update the "standard" EFI.

The simplification is to put a single _OSI("Darwin") test for the entire block. The base unit is then simply
Processor (CP01, 0x01, 0x00001810, 0x06)
{
Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID
Name (_UID, 0x01) // _UID: Unique ID
Name (_STA, 0x0F) // _STA: Status
}
where the three elements in bold have to match. CP00 has the additional _DSM method to add power management.
 

Attachments

  • SSDT-PLUG-ALT-nP.zip
    4.3 KB · Views: 127
Last edited:
@etorix So the solution for now is for macOS to use the P-cores only? And their hyper threads. And for Windows/Linux, they will use all available cores/threads?
 
@StefanAM You've made an extraordinary find! I suppose vit9696 and the Acidanthera team found it was only necessary to provide a processor stub, as in their new SSDT-PLUG-ALT, without any connection to the actual processor device. And then quirk ProvideCurrentCpuInfo sufficiently disables the topology check to allow leaving all cores on.

This, however, introduces a minor complication: To leave all cores on and hyperthreading on in BIOS for other OSes, one then needs to have a specific SSDT depending on the CPU model; there no longer is a universal wrapping SSDT.
From the results by @sjoseph and @CaseySJ only the number of P cores matters, so there would only be two SSDTs at this point: 8 P-cores for i9-12900K or i7-12700K; 6 P-cores .

I have streamlined the code, to make future adaptations even easier, and compiled two SSDTs.
SSDT-PLUG-ALT-8P.aml for i9-12900K or i7-12700K
SSDT-PLUG-ALT-6P.aml for i5-12600K
These replace both SSDT-CPUR-Z690.aml and SSDT-PLUG.aml for those who use the EFIs from this thread, or replace SSDT-PLUG-ALT.aml for those who have switched to Acidanthera's SSDT, or use the Z690 Aero G EFI.
Quirk ProvideCurrentCpuInfo must be enabled, all P and cores enabled, hyperthreading enabled in BIOS.
If you can confirm that these SSDTs work, I'll update the "standard" EFI.

The simplification is to put a single _OSI("Darwin") test for the entire block. The base unit is then simply

where the three elements in bold have to match. CP00 has the additional _DSM method to add power management.
I tried this, but system (with 12700K) hangs at boot even with the Quirk ProvideCurrentCpuInfo enabled. However, the .aml posted in post #1229 of this thread (https://www.tonymacx86.com/threads/z690-chipset-and-alder-lake-cpus.316618/post-2290851) works.
 
Back
Top