Skip to content

Commit 286a4f3

Browse files
committed
more processors
Signed-off-by: Slice <sergey.slice@gmail.com>
1 parent 788654c commit 286a4f3

File tree

5 files changed

+29
-6
lines changed

5 files changed

+29
-6
lines changed

Include/IndustryStandard/ProcessorInfo.h

+3-1
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,9 @@ enum {
204204
#define CPU_MODEL_RAPTORLAKE 0xB7 /* 13h Raptor Lake */
205205
#define CPU_MODEL_RAPTORLAKE_B 0xBF /* 13h Raptor Lake, i5-13400h */
206206
#define CPU_MODEL_METEORLAKE 0xAA /* 14h Meteor Lake */
207-
#define CPU_MODEL_ARROWLAKE 0xC6
207+
#define CPU_MODEL_ARROWLAKE 0xC6 /* 15h Arrow Lake */
208+
#define CPU_MODEL_ARROWLAKE_X 0xC5 /* 15h Arrow Lake */
209+
#define CPU_MODEL_ARROWLAKE_U 0xB5 /* 15h Arrow Lake */
208210

209211
#define CPU_SOCKET_UNKNOWN 0x02
210212
#define CPU_SOCKET_PGA478 0x0F

rEFIt_UEFI/Platform/StateGenerator.cpp

+5-1
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,8 @@ SSDT_TABLE *generate_pss_ssdt(UINTN Number)
283283
case CPU_MODEL_RAPTORLAKE:
284284
case CPU_MODEL_METEORLAKE:
285285
case CPU_MODEL_ARROWLAKE:
286+
case CPU_MODEL_ARROWLAKE_X:
287+
case CPU_MODEL_ARROWLAKE_U:
286288
{
287289
maximum.Control.Control = RShiftU64(AsmReadMsr64(MSR_PLATFORM_INFO), 8) & 0xff;
288290
if (gSettings.ACPI.SSDT.MaxMultiplier) {
@@ -358,6 +360,8 @@ SSDT_TABLE *generate_pss_ssdt(UINTN Number)
358360
(gCPUStructure.Model == CPU_MODEL_RAPTORLAKE_B) ||
359361
(gCPUStructure.Model == CPU_MODEL_METEORLAKE) ||
360362
(gCPUStructure.Model == CPU_MODEL_ARROWLAKE ) ||
363+
(gCPUStructure.Model == CPU_MODEL_ARROWLAKE_X ) ||
364+
(gCPUStructure.Model == CPU_MODEL_ARROWLAKE_U ) ||
361365
(gCPUStructure.Model == CPU_MODEL_COMETLAKE_S) ||
362366
(gCPUStructure.Model == CPU_MODEL_COMETLAKE_Y) ||
363367
(gCPUStructure.Model == CPU_MODEL_COMETLAKE_U)) {
@@ -379,7 +383,7 @@ SSDT_TABLE *generate_pss_ssdt(UINTN Number)
379383
p_states_count++;
380384
}
381385
}
382-
break;//case CPU_MODEL_ARROWLAKE:
386+
break;
383387
}
384388
default:
385389
MsgLog ("Unsupported CPU (0x%X): P-States not generated !!!\n", gCPUStructure.Family);

rEFIt_UEFI/Platform/cpu.cpp

+18-3
Original file line numberDiff line numberDiff line change
@@ -336,12 +336,19 @@ void GetCPUProperties (void)
336336
case CPU_MODEL_ALDERLAKE_ULT:
337337
case CPU_MODEL_RAPTORLAKE_B:
338338
case CPU_MODEL_METEORLAKE:
339-
case CPU_MODEL_ARROWLAKE:
340339
msr = AsmReadMsr64(MSR_CORE_THREAD_COUNT); //0x35
341340
DBG("MSR 0x35 %16llX\n", msr);
342341
gCPUStructure.Cores = (UINT8)bitfield((UINT32)msr, 31, 16);
343342
gCPUStructure.Threads = (UINT8)bitfield((UINT32)msr, 15, 0);
344343
break;
344+
case CPU_MODEL_ARROWLAKE:
345+
case CPU_MODEL_ARROWLAKE_X:
346+
case CPU_MODEL_ARROWLAKE_U:
347+
msr = AsmReadMsr64(MSR_CORE_THREAD_COUNT); //0x35
348+
DBG("MSR 0x35 %16llX\n", msr);
349+
gCPUStructure.Cores = (UINT8)bitfield((UINT32)msr, 31, 16);
350+
gCPUStructure.Threads = gCPUStructure.Cores; // no hyperthreading
351+
break;
345352

346353
case CPU_MODEL_DALES:
347354
case CPU_MODEL_WESTMERE: // Intel Core i7 LGA1366 (32nm) 6 Core
@@ -421,7 +428,7 @@ void GetCPUProperties (void)
421428
gCPUStructure.Threads = 4;
422429
}
423430

424-
//New for SkyLake 0x4E, 0x5E
431+
//New for SkyLake 0x4E, 0x5E and up
425432
if(gCPUStructure.CPUID[CPUID_0][EAX] >= 0x15) {
426433
UINT32 Num, Denom;
427434
DoCpuid(0x15, gCPUStructure.CPUID[CPUID_15]);
@@ -540,6 +547,8 @@ void GetCPUProperties (void)
540547
case CPU_MODEL_RAPTORLAKE:
541548
case CPU_MODEL_METEORLAKE:
542549
case CPU_MODEL_ARROWLAKE:
550+
case CPU_MODEL_ARROWLAKE_X:
551+
case CPU_MODEL_ARROWLAKE_U:
543552

544553
gCPUStructure.TSCFrequency = MultU64x32(gCPUStructure.CurrentSpeed, Mega); //MHz -> Hz
545554
gCPUStructure.CPUFrequency = gCPUStructure.TSCFrequency;
@@ -1428,6 +1437,8 @@ UINT16 GetAdvancedCpuType()
14281437
case CPU_MODEL_RAPTORLAKE:
14291438
case CPU_MODEL_METEORLAKE:
14301439
case CPU_MODEL_ARROWLAKE:
1440+
case CPU_MODEL_ARROWLAKE_X:
1441+
case CPU_MODEL_ARROWLAKE_U:
14311442
if ( gCPUStructure.BrandString.contains("Core(TM) i3") )
14321443
return 0x905; // Core i3 - Apple doesn't use it
14331444
if ( gCPUStructure.BrandString.contains("Core(TM) i5-1") )
@@ -1566,6 +1577,8 @@ MacModel GetDefaultModel()
15661577
case CPU_MODEL_ICELAKE_A:
15671578
case CPU_MODEL_ICELAKE_C:
15681579
case CPU_MODEL_ICELAKE_D:
1580+
case CPU_MODEL_ALDERLAKE_ULT: //???
1581+
case CPU_MODEL_ARROWLAKE_U:
15691582
DefaultType = MacBookPro161;
15701583
break;
15711584
default:
@@ -1678,13 +1691,15 @@ MacModel GetDefaultModel()
16781691
DefaultType = MacPro61;
16791692
break;
16801693
case CPU_MODEL_ALDERLAKE:
1681-
case CPU_MODEL_ALDERLAKE_ULT: //???
1694+
16821695
case CPU_MODEL_RAPTORLAKE_B:
16831696
case CPU_MODEL_COMETLAKE_S:
16841697
case CPU_MODEL_ROCKETLAKE:
16851698
case CPU_MODEL_RAPTORLAKE:
16861699
case CPU_MODEL_METEORLAKE:
16871700
case CPU_MODEL_ARROWLAKE:
1701+
case CPU_MODEL_ARROWLAKE_X:
1702+
16881703
DefaultType = MacPro71;
16891704
break;
16901705
default:

rEFIt_UEFI/Platform/cpu.h

+2
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,8 @@
8383
#define CPU_MODEL_RAPTORLAKE 0xB7 /* 13h Raptor Lake */
8484
#define CPU_MODEL_RAPTORLAKE_B 0xBF /* 13h Raptor Lake, i5-13400h */
8585
#define CPU_MODEL_ARROWLAKE 0xC6
86+
#define CPU_MODEL_ARROWLAKE_X 0xC5 /* 15h Arrow Lake */
87+
#define CPU_MODEL_ARROWLAKE_U 0xB5 /* 15h Arrow Lake */
8688

8789
#define CPU_VENDOR_INTEL 0x756E6547
8890
#define CPU_VENDOR_AMD 0x68747541

0 commit comments

Comments
 (0)