OpenCorePlatform: Added ProcessorType option to Generic

This allows custom CPU names. Do not use this is the detection
is wrong for you but rather bugreport with CPUID dumps.
This commit is contained in:
vit9696 2020-09-10 19:00:12 +03:00
parent d012f4e9cb
commit 78f0907c03
11 changed files with 45 additions and 5 deletions

View File

@ -2,6 +2,7 @@ OpenCore Changelog
==================
#### v0.6.2
- Updated builtin firmware versions for SMBIOS and the rest
- Added `ProcessorType` option to `Generic` allowing custom CPU names
#### v0.6.1
- Improved recognition of early pressed hotkeys, thx @varahash

Binary file not shown.

View File

@ -4323,6 +4323,11 @@ be used. Version with macOS specific enhancements can be downloaded from
a drive with EFI partition being the first partition on the disk.
\end{itemize}
\item
\texttt{ProcessorType}
\textbf{Type}: \texttt{plist\ integer}\\
\textbf{Failsafe}: Automatic\\
\textbf{Description}: Refer to SMBIOS \texttt{ProcessorType}.
\item
\texttt{SystemProductName}\\
\textbf{Type}: \texttt{plist\ string}\\

Binary file not shown.

View File

@ -1,7 +1,7 @@
\documentclass[]{article}
%DIF LATEXDIFF DIFFERENCE FILE
%DIF DEL PreviousConfiguration.tex Mon Sep 7 20:41:54 2020
%DIF ADD ../Configuration.tex Mon Sep 7 20:44:00 2020
%DIF DEL PreviousConfiguration.tex Thu Sep 10 18:48:52 2020
%DIF ADD ../Configuration.tex Thu Sep 10 18:56:58 2020
\usepackage{lmodern}
\usepackage{amssymb,amsmath}
@ -4383,7 +4383,12 @@ be used. Version with macOS specific enhancements can be downloaded from
a drive with EFI partition being the first partition on the disk.
\end{itemize}
\item
\DIFaddbegin \item
\texttt{\DIFadd{ProcessorType}}
\textbf{\DIFadd{Type}}\DIFadd{: }\texttt{\DIFadd{plist\ integer}}\\
\textbf{\DIFadd{Failsafe}}\DIFadd{: Automatic}\\
\textbf{\DIFadd{Description}}\DIFadd{: Refer to SMBIOS }\texttt{\DIFadd{ProcessorType}}\DIFadd{.
}\DIFaddend \item
\texttt{SystemProductName}\\
\textbf{Type}: \texttt{plist\ string}\\
\textbf{Failsafe}: \texttt{MacPro6,1}\\

Binary file not shown.

View File

@ -926,6 +926,8 @@
<false/>
<key>MLB</key>
<string>M0000000000000001</string>
<key>ProcessorType</key>
<integer>0</integer>
<key>ROM</key>
<data>ESIzRFVm</data>
<key>SpoofVendor</key>

View File

@ -920,6 +920,25 @@
<dict>
<key>Automatic</key>
<false/>
<key>Generic</key>
<dict>
<key>AdviseWindows</key>
<false/>
<key>MLB</key>
<string>M0000000000000001</string>
<key>ProcessorType</key>
<integer>0</integer>
<key>ROM</key>
<data>ESIzRFVm</data>
<key>SpoofVendor</key>
<true/>
<key>SystemProductName</key>
<string>iMac19,1</string>
<key>SystemSerialNumber</key>
<string>W00000000001</string>
<key>SystemUUID</key>
<string>00000000-0000-0000-0000-000000000000</string>
</dict>
<key>DataHub</key>
<dict>
<key>ARTFrequency</key>

View File

@ -414,6 +414,7 @@ typedef enum {
_(OC_STRING , SystemSerialNumber , , OC_STRING_CONSTR ("OPENCORE_SN1", _, __) , OC_DESTR (OC_STRING) ) \
_(OC_STRING , SystemUuid , , OC_STRING_CONSTR ("", _, __) , OC_DESTR (OC_STRING) ) \
_(OC_STRING , Mlb , , OC_STRING_CONSTR ("OPENCORE_MLB_SN11", _, __), OC_DESTR (OC_STRING) ) \
_(UINT16 , ProcessorType , , 0 , () ) \
_(UINT8 , Rom , [6] , {0} , () ) \
_(BOOLEAN , SpoofVendor , , FALSE , () ) \
_(BOOLEAN , AdviseWindows , , FALSE , () )

View File

@ -496,6 +496,7 @@ OC_SCHEMA
mPlatformConfigurationGenericSchema[] = {
OC_SCHEMA_BOOLEAN_IN ("AdviseWindows", OC_GLOBAL_CONFIG, PlatformInfo.Generic.AdviseWindows),
OC_SCHEMA_STRING_IN ("MLB", OC_GLOBAL_CONFIG, PlatformInfo.Generic.Mlb),
OC_SCHEMA_INTEGER_IN ("ProcessorType", OC_GLOBAL_CONFIG, PlatformInfo.Generic.ProcessorType),
OC_SCHEMA_DATAF_IN ("ROM", OC_GLOBAL_CONFIG, PlatformInfo.Generic.Rom),
OC_SCHEMA_BOOLEAN_IN ("SpoofVendor", OC_GLOBAL_CONFIG, PlatformInfo.Generic.SpoofVendor),
OC_SCHEMA_STRING_IN ("SystemProductName", OC_GLOBAL_CONFIG, PlatformInfo.Generic.SystemProductName),

View File

@ -345,8 +345,14 @@ OcPlatformUpdateSmbios (
Data.FirmwareFeaturesMask |= FW_FEATURE_SUPPORTS_CSM_LEGACY_MODE | FW_FEATURE_SUPPORTS_UEFI_WINDOWS_BOOT;
}
Data.ProcessorType = NULL;
Data.PlatformFeature = MacInfo->Smbios.PlatformFeature;
//
// Permit overriding the CPU type for those that want it.
//
if (Config->PlatformInfo.Generic.ProcessorType != 0) {
Data.ProcessorType = &Config->PlatformInfo.Generic.ProcessorType;
}
Data.PlatformFeature = MacInfo->Smbios.PlatformFeature;
if (MacInfo->DataHub.SmcRevision != NULL) {
OcSmbiosGetSmcVersion (MacInfo->DataHub.SmcRevision, SmcVersion);