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);