diff --git a/Changelog.md b/Changelog.md index f0e6f4db09c0eddf02f8950f80e50bb1f9b9366a..78d854e90fc9f49d24fbb9d55bccaa3708a8b5ff 100644 --- a/Changelog.md +++ b/Changelog.md @@ -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 diff --git a/Docs/Configuration.pdf b/Docs/Configuration.pdf index 7caef963d2e19865dce35d2826b0be413d5a80bb..988fdaa9e3527f6ed66cf831190708b3408c7a31 100644 Binary files a/Docs/Configuration.pdf and b/Docs/Configuration.pdf differ diff --git a/Docs/Configuration.tex b/Docs/Configuration.tex index 30738d84ad8845c96f27876bf8e725331a57db08..7253152ebc6e54899cc257364e4b9aa44eb0dbb7 100755 --- a/Docs/Configuration.tex +++ b/Docs/Configuration.tex @@ -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}\\ diff --git a/Docs/Differences/Differences.pdf b/Docs/Differences/Differences.pdf index b80e4637c60c93f6d6ba81e796aea6536bec6de9..c07be00baaf124f7bada5382982f151a72a16d92 100644 Binary files a/Docs/Differences/Differences.pdf and b/Docs/Differences/Differences.pdf differ diff --git a/Docs/Differences/Differences.tex b/Docs/Differences/Differences.tex index f92f0f1bca3e7ffab0a715f9772c1a8b28b710e5..656d6cbaa74aadd333c3e96cdd4c4918e4fe3fca 100644 --- a/Docs/Differences/Differences.tex +++ b/Docs/Differences/Differences.tex @@ -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}\\ diff --git a/Docs/Errata/Errata.pdf b/Docs/Errata/Errata.pdf index c11935bcb57c0604d0895971e251a0adb0194eb0..ef5ef0d52dad8f4b7029b33ac79da8e63fedcf36 100644 Binary files a/Docs/Errata/Errata.pdf and b/Docs/Errata/Errata.pdf differ diff --git a/Docs/Sample.plist b/Docs/Sample.plist index dcb83d7de87e8a36fb22d16e4f83290cb2a47c20..46caece0ddb227021fd5f3df8ea445f61d9a2c57 100644 --- a/Docs/Sample.plist +++ b/Docs/Sample.plist @@ -926,6 +926,8 @@ MLB M0000000000000001 + ProcessorType + 0 ROM ESIzRFVm SpoofVendor diff --git a/Docs/SampleCustom.plist b/Docs/SampleCustom.plist index 33c2a71c65648db00588d3dfd4ec84c1ac9df655..9908a08170d2a93b92974c438bb4f32cc5a2fab7 100644 --- a/Docs/SampleCustom.plist +++ b/Docs/SampleCustom.plist @@ -920,6 +920,25 @@ Automatic + Generic + + AdviseWindows + + MLB + M0000000000000001 + ProcessorType + 0 + ROM + ESIzRFVm + SpoofVendor + + SystemProductName + iMac19,1 + SystemSerialNumber + W00000000001 + SystemUUID + 00000000-0000-0000-0000-000000000000 + DataHub ARTFrequency diff --git a/Include/Acidanthera/Library/OcConfigurationLib.h b/Include/Acidanthera/Library/OcConfigurationLib.h index a80cb79ee1f3a469e741de5765e6a3814d0cee42..c0b5e8082f2aad3740c56c6d2ee7a82c9ef7fb96 100644 --- a/Include/Acidanthera/Library/OcConfigurationLib.h +++ b/Include/Acidanthera/Library/OcConfigurationLib.h @@ -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 , () ) diff --git a/Library/OcConfigurationLib/OcConfigurationLib.c b/Library/OcConfigurationLib/OcConfigurationLib.c index 997f19f663772d4a7709428986effda5b1543faf..48cd553babfebb9c3c255fe45ee9a526425a6157 100644 --- a/Library/OcConfigurationLib/OcConfigurationLib.c +++ b/Library/OcConfigurationLib/OcConfigurationLib.c @@ -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), diff --git a/Platform/OpenCore/OpenCorePlatform.c b/Platform/OpenCore/OpenCorePlatform.c index a99710d852a7964cbad33a99d80e36d21c4e8f81..244c6624fb29c2d0bb868c626909a91468a56210 100644 --- a/Platform/OpenCore/OpenCorePlatform.c +++ b/Platform/OpenCore/OpenCorePlatform.c @@ -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);