diff --git a/Changelog.md b/Changelog.md
index f0e6f4db..78d854e9 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 7caef963..988fdaa9 100644
Binary files a/Docs/Configuration.pdf and b/Docs/Configuration.pdf differ
diff --git a/Docs/Configuration.tex b/Docs/Configuration.tex
index 30738d84..7253152e 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 b80e4637..c07be00b 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 f92f0f1b..656d6cba 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 c11935bc..ef5ef0d5 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 dcb83d7d..46caece0 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 33c2a71c..9908a081 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 a80cb79e..c0b5e808 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 997f19f6..48cd553b 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 a99710d8..244c6624 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);