Closed Richy-Z closed 4 months ago
OcCpuLib's cpu-type
detection code already has support for Alder Lake, though it uses the same logic as Kaby Lake and Coffee Lake: i9 models will end up with cpu-type
0x1009. AFAIK this will show up as Unknown in System Information due to the core count mismatch; I don't think this has anything to do with the SMBIOS product name. https://github.com/al3xtjames/OpenCorePkg/commit/d30b225f1bd9d3e192cb8bd4387d244f1b57f7a2 extends this path to also support Raptor Lake (though it may not cover the Raptor Lake Refresh steppings).
Maybe we could change this to default to 0x0F01 on Alder Lake and Raptor Lake, though I'm not sure if this will work for models with fewer cores.
@al3xtjames, the change makes sense to me. We will probably need the same change for Lilu. Could you please file a PR?
Done: https://github.com/acidanthera/OpenCorePkg/pull/518
Lilu should have been addressed in https://github.com/acidanthera/Lilu/commit/9f849efa26431f2d844557a3ed32f17c67fa0f1d and https://github.com/acidanthera/Lilu/commit/3be92e3826e0b9c93861ba590b16c5f978d4a348. I still don't like the _HX
suffix as it's technically wrong, but I couldn't come up with something better. Supposedly stepping B0 is RPL proper while C0 is ADL (used on lower end SKUs where the extra cache on RPL is disabled). AFAICT Raptor Lake Refresh uses the same CPUID model (according to the datasheet and random CPUID dumps for the i7-14700K and i9-14900K).
OpenCore Information
OpenCore Version: 0.9.7 (Latest at time of writing) SMBIOS: MacPro7,1 EFI: EFI.zip Debug Log: opencore-2023-12-29-054214.txt
Issue
When leaving PlatformInfo > Generic > ProcessorType as the default (and recommended according to the OpenCore Install Guide for Comet Lake) value,
0
, OpenCore wrongly assumes the processor type or just doesn't know what to do with newer processors which aren't natively supported. This leads toAppleProcessorTypeUnknown
being selected (0x0000
) as a fallback, which is obviously unfavourable.I've observed this on Raptor Lake using an Intel Core i9-14900KF, however, this might span across Alder Lake+ ever since Intel introduced its hybrid design.
Of course, this is quite a unique bug that might only occur to Raptor Lake or Alder Lake+.
Technically, shouldn't ProcessorType also depend on the SystemProductName chosen? Any ProcessorType which wasnt that of a MacPro7,1 just wouldnt work and would show "Unknown" too, suggesting the above. I tried
AppleProcessorTypeCorei9Type9
=0x1009
but then RestrictEvents would not be able to apply the processor renames.Manually setting
ProcessorType
to3841
(which is AppleProcessorTypeXeonW, 0x0F01, as seen in real MacPro7,1), does work however and this is what OpenCore should be guessing.Here is a picture below of System Settings > General > About showing the Processor as "Unknown". This is what I assume shows when the ProcessorType is
AppleProcessorTypeUnknown
:Here are the outputs for
sysctl machdep.cpu
anddmidecode
, as requested in Configuration.pdf:`sysctl machdep.cpu`
``` machdep.cpu.mwait.linesize_min: 64 machdep.cpu.mwait.linesize_max: 64 machdep.cpu.mwait.extensions: 3 machdep.cpu.mwait.sub_Cstates: 269492256 machdep.cpu.thermal.sensor: 1 machdep.cpu.thermal.dynamic_acceleration: 1 machdep.cpu.thermal.invariant_APIC_timer: 1 machdep.cpu.thermal.thresholds: 2 machdep.cpu.thermal.ACNT_MCNT: 1 machdep.cpu.thermal.core_power_limits: 1 machdep.cpu.thermal.fine_grain_clock_mod: 1 machdep.cpu.thermal.package_thermal_intr: 1 machdep.cpu.thermal.hardware_feedback: 0 machdep.cpu.thermal.energy_policy: 1 machdep.cpu.xsave.extended_state: 519 832 2696 0 machdep.cpu.xsave.extended_state1: 15 832 104704 0 machdep.cpu.arch_perf.version: 5 machdep.cpu.arch_perf.number: 6 machdep.cpu.arch_perf.width: 48 machdep.cpu.arch_perf.events_number: 7 machdep.cpu.arch_perf.events: 0 machdep.cpu.arch_perf.fixed_number: 3 machdep.cpu.arch_perf.fixed_width: 48 machdep.cpu.cache.linesize: 64 machdep.cpu.cache.L2_associativity: 16 machdep.cpu.cache.size: 2048 machdep.cpu.address_bits.physical: 39 machdep.cpu.address_bits.virtual: 48 machdep.cpu.tsc_ccc.numerator: 166 machdep.cpu.tsc_ccc.denominator: 2 machdep.cpu.max_basic: 32 machdep.cpu.max_ext: 2147483656 machdep.cpu.vendor: GenuineIntel machdep.cpu.brand_string: Intel(R) Core(TM) i9-14900KF machdep.cpu.family: 6 machdep.cpu.model: 165 machdep.cpu.extmodel: 10 machdep.cpu.extfamily: 0 machdep.cpu.stepping: 5 machdep.cpu.feature_bits: 9221959987971750911 machdep.cpu.leaf7_feature_bits: 597436395 2562721708 machdep.cpu.leaf7_feature_bits_edx: 4229481488 machdep.cpu.extfeature_bits: 1241984796928 machdep.cpu.signature: 656981 machdep.cpu.brand: 0 machdep.cpu.features: FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA CMOV PAT PSE36 CLFSH DS ACPI MMX FXSR SSE SSE2 SS HTT TM PBE SSE3 PCLMULQDQ DTES64 MON DSCPL VMX EST TM2 SSSE3 FMA CX16 TPR PDCM SSE4.1 SSE4.2 x2APIC MOVBE POPCNT AES PCID XSAVE OSXSAVE SEGLIM64 TSCTMR AVX1.0 RDRAND F16C machdep.cpu.leaf7_features: RDWRFSGS TSC_THREAD_OFFSET BMI1 AVX2 FDPEO SMEP BMI2 ERMS INVPCID FPU_CSDS RDSEED ADX SMAP CLFSOPT CLWB IPT SHA UMIP PKU WAITPKG GFNI VAES VPCLMULQDQ RDPID MOVDIRI MOVDIRI64B FSREPMOV MDCLEAR IBRS STIBP L1DF ACAPMSR CCAPMSR SSBD machdep.cpu.extfeatures: SYSCALL XD 1GBPAGE EM64T LAHF LZCNT PREFETCHW RDTSCP TSCI machdep.cpu.logical_per_package: 128 machdep.cpu.cores_per_package: 128 machdep.cpu.microcode_version: 287 machdep.cpu.processor_flag: 1 machdep.cpu.core_count: 32 machdep.cpu.thread_count: 32 ````dmidecode`
``` # dmidecode 3.4a Scanning I/O Registry for entry point. SMBIOS 3.2 present. 62 structures occupying 2555 bytes. Table at 0x781E7000. Handle 0x0001, DMI type 0, 26 bytes 0000: 00 1A 01 00 01 02 00 00 03 FF 80 98 FB 77 01 00 0010: 00 00 03 0D 10 02 FF FF 00 00 BIOS Information Vendor: Acidanthera Version: 2020.41.1.0.0 Release Date: 10/05/2023 ROM Size: 0 MB Characteristics: PCI is supported BIOS is upgradeable BIOS shadowing is allowed Boot from CD is supported Selectable boot is supported BIOS ROM is socketed EDD is supported Japanese floppy for NEC 9800 1.2 MB is supported (int 13h) Japanese floppy for Toshiba 1.2 MB is supported (int 13h) 5.25"/360 kB floppy services are supported (int 13h) 5.25"/1.2 MB floppy services are supported (int 13h) 3.5"/720 kB floppy services are supported (int 13h) 3.5"/2.88 MB floppy services are supported (int 13h) Print screen service is supported (int 5h) Serial services are supported (int 14h) Printer services are supported (int 17h) CGA/mono video services are supported (int 10h) ACPI is supported USB legacy is supported BIOS boot specification is supported Targeted content distribution is supported UEFI is supported BIOS Revision: 16.2 Handle 0x0002, DMI type 1, 27 bytes 0000: 01 1B 02 00 01 02 03 04 C8 37 B0 67 D8 06 E7 48 0010: 84 EF 0B AA 66 18 5D A4 06 00 05 System Information Manufacturer: Acidanthera Product Name: MacPro7,1 Version: 1.0 Serial Number: F5KK2AYSP7QM UUID: {c8 37 b0 67 d8 06 e7 48 84 ef 0b aa 66 18 5d a4} (RAW) UUID: 67b037c8-06d8-48e7-84ef-0baa66185da4 (SMBIOS 2.6+, preferred) UUID: c837b067-d806-e748-84ef-0baa66185da4 (RFC 4122, Apple) Wake-up Type: Power Switch SKU Number: Not Specified Family: MacPro Handle 0x0003, DMI type 2, 15 bytes 0000: 02 0F 03 00 01 02 03 04 00 09 00 04 00 0A 00 Base Board Information Manufacturer: Acidanthera Product Name: Mac-27AD2F918AE68F61 Version: MacPro7,1 Serial Number: F5K3014054NK3F7FB Asset Tag: Not Specified Features: Board is a hosting board Board is replaceable Location In Chassis: Not Specified Chassis Handle: 0x0004 Type: Motherboard Contained Object Handles: 0 Handle 0x0004, DMI type 3, 22 bytes 0000: 03 16 04 00 01 07 02 03 00 03 03 03 03 00 00 00 0010: 00 00 01 00 00 00 Chassis Information Manufacturer: Acidanthera Type: Tower Lock: Not Present Version: Mac-27AD2F918AE68F61 Serial Number: F5KK2AYSP7QM Asset Tag: Not Specified Boot-up State: Safe Power Supply State: Safe Thermal State: Safe Security Status: None OEM Information: 0x00000000 Height: Unspecified Number Of Power Cords: 1 Contained Elements: 0 SKU Number: Not Specified Handle 0x0080, DMI type 7, 27 bytes 0000: 07 1B 80 00 01 80 01 00 04 00 04 20 00 20 00 00 0010: 04 03 07 00 04 00 00 00 04 00 00 Cache Information Socket Designation: L1 Cache Configuration: Enabled, Not Socketed, Level 1 Operational Mode: Write Back Location: Internal Installed Size: 1 MB Maximum Size: 1 MB Supported SRAM Types: Synchronous Installed SRAM Type: Synchronous Speed: Unknown Error Correction Type: Parity System Type: Instruction Associativity: 8-way Set-associative Handle 0x0081, DMI type 7, 27 bytes 0000: 07 1B 81 00 01 81 01 00 40 00 40 20 00 20 00 00 0010: 05 05 08 00 40 00 00 00 40 00 00 Cache Information Socket Designation: L2 Cache Configuration: Enabled, Not Socketed, Level 2 Operational Mode: Write Back Location: Internal Installed Size: 16 MB Maximum Size: 16 MB Supported SRAM Types: Synchronous Installed SRAM Type: Synchronous Speed: Unknown Error Correction Type: Single-bit ECC System Type: Unified Associativity: 16-way Set-associative Handle 0x0082, DMI type 7, 27 bytes 0000: 07 1B 82 00 01 82 01 40 82 40 82 20 00 20 00 00 0010: 06 05 09 40 02 00 80 40 02 00 80 Cache Information Socket Designation: L3 Cache Configuration: Enabled, Not Socketed, Level 3 Operational Mode: Write Back Location: Internal Installed Size: 36 MB Maximum Size: 36 MB Supported SRAM Types: Synchronous Installed SRAM Type: Synchronous Speed: Unknown Error Correction Type: Multi-bit ECC System Type: Unified Associativity: 12-way Set-associative Handle 0x0083, DMI type 4, 50 bytes 0000: 04 32 83 00 01 03 CF 02 71 06 0B 00 FF FB EB BF 0010: 03 8E 64 00 6C 0C 6C 0C 41 40 80 00 81 00 82 00 0020: 04 05 06 18 18 20 FC 00 CF 00 18 00 18 00 20 00 0030: 00 00 Processor Information Socket Designation: LGA1700 Type: Central Processor Family: Core i9 Manufacturer: Intel(R) Corporation ID: 71 06 0B 00 FF FB EB BF Signature: Type 0, Family 6, Model 183, Stepping 1 Flags: FPU (Floating-point unit on-chip) VME (Virtual mode extension) DE (Debugging extension) PSE (Page size extension) TSC (Time stamp counter) MSR (Model specific registers) PAE (Physical address extension) MCE (Machine check exception) CX8 (CMPXCHG8 instruction supported) APIC (On-chip APIC hardware supported) SEP (Fast system call) MTRR (Memory type range registers) PGE (Page global enable) MCA (Machine check architecture) CMOV (Conditional move instruction supported) PAT (Page attribute table) PSE-36 (36-bit page size extension) CLFSH (CLFLUSH instruction supported) DS (Debug store) ACPI (ACPI supported) MMX (MMX technology supported) FXSR (FXSAVE and FXSTOR instructions supported) SSE (Streaming SIMD extensions) SSE2 (Streaming SIMD extensions 2) SS (Self-snoop) HTT (Multi-threading) TM (Thermal monitor supported) PBE (Pending break enabled) Version: Intel(R) Core(TM) i9-14900KF Voltage: 1.4 V External Clock: 100 MHz Max Speed: 3180 MHz Current Speed: 3180 MHz Status: Populated, Enabled Upgrade:Please note that CpuTopologyRebuild.kext may be affecting the results ofsysctl machdep.cpu
as I am using the CpuTopologyRebuild kext with the-ctrsmt
boot argument.Actually, I just realised that machdep.cpu.core_count changes based on ProcessorType. With ProcessorType
3841
, the core count is correctly identified as the amount of Performance Cores in the processor, as I have the-ctrsmt
boot argument set. With ProcessorType being0
, though, OpenCore incorrectly guesses and well Uknown will just always be Unknown if macOS doesn't know the difference between cores and threads, etc.