I need your help to understand how the Data values are set into OpenCore configuration. Looking at documentation for Cpuid1Data:
How did @cdf ended with AAAAAAAAAAAAAACAAAAAAA== and AAAAAAAAAAAAAACAAAAAAA== values? 16 bytes means C3 06 03 00 00 00 00 00 00 00 00 00 00 00 00 00, for example. If I convert this to base64, I get gibberish.
Here it is an easier example, UIScale can have either 01 or 02 values, but when I convert 02 to Base64, I get:
instead of Ag==. Thank you for teaching an OC newbie.
7.5 Emulate Properties
- Cpuid1Data
Type: plist data, 16 bytes
Failsafe: All zero
Description: Sequence of EAX, EBX, ECX, EDX values to replace CPUID (1) call in XNU kernel.
This property serves for two needs:
• Enabling support of an unsupported CPU model.
• Enabling XCPM support for an unsupported CPU variant.
Normally it is only the value of EAX that needs to be taken care of, since it represents the full CPUID. The remaining bytes are to be left as zeroes. Byte order is Little Endian, so for example, A9 06 03 00 stands for CPUID 0x0306A9 (Ivy Bridge).
For XCPM support it is recommended to use the following combinations.
• Haswell-E (0x306F2) to Haswell (0x0306C3):
Cpuid1Data: C3 06 03 00 00 00 00 00 00 00 00 00 00 00 00 00 Cpuid1Mask: FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00
• Broadwell-E (0x0406F1) to Broadwell (0x0306D4):
Cpuid1Data: D4 06 03 00 00 00 00 00 00 00 00 00 00 00 00 00 Cpuid1Mask: FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00
Further explanations can be found at acidanthera/bugtracker#365. See Special NOTES for Haswell+ low-end.
How did @cdf ended with AAAAAAAAAAAAAACAAAAAAA== and AAAAAAAAAAAAAACAAAAAAA== values? 16 bytes means C3 06 03 00 00 00 00 00 00 00 00 00 00 00 00 00, for example. If I convert this to base64, I get gibberish.
Here it is an easier example, UIScale can have either 01 or 02 values, but when I convert 02 to Base64, I get:
Code:
$ echo -n '02' | base64
MDI=
instead of Ag==. Thank you for teaching an OC newbie.
Last edited: