@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.