diff --git a/Changelog.md b/Changelog.md
index 8c7c562639dc1b20b3b33cfc36e59b3ec7dc2c04..24dad1a132c74de7892fcf5763c1c7dbfc37ba5d 100644
--- a/Changelog.md
+++ b/Changelog.md
@@ -10,6 +10,8 @@ OpenCore Changelog
- Improved driver connection performance on APTIO IV
- Fixed boot option saving in LogoutHook.command
- Added support for OEM information in `ExposeSensitiveData`
+- Improved `SanitiseClearScreen` to avoid mode switching
+- Replaced `SupportsCsm` with `AdviseWindows` enabling UEFI mode
#### v0.5.4
- Added Enter key handling in boot menu for quick proceed
diff --git a/Docs/Configuration.pdf b/Docs/Configuration.pdf
index cd575e8bf1e8dbcbe50f0e3bb6ccfdacaf399a44..ef25bf0359a5b2fc7ba22d41869a44ed087eed99 100644
Binary files a/Docs/Configuration.pdf and b/Docs/Configuration.pdf differ
diff --git a/Docs/Configuration.tex b/Docs/Configuration.tex
index e86d908855b8c51f6428884b565d7acd8b18654f..6e6be0cb4ef6b9a3f8cb368078b222e4925cd0dc 100755
--- a/Docs/Configuration.tex
+++ b/Docs/Configuration.tex
@@ -3072,15 +3072,22 @@ be used. Version with macOS specific enhancements can be downloaded from
in \texttt{SystemManufacturer} description. However, certain firmwares
may not provide valid values otherwise, which could break some software.
\item
- \texttt{SupportsCsm}\\
+ \texttt{AdviseWindows}\\
\textbf{Type}: \texttt{plist\ boolean}\\
\textbf{Failsafe}: \texttt{false}\\
- \textbf{Description}: Forces CSM support in \texttt{FirmwareFeatures}.
+ \textbf{Description}: Forces Windows support in \texttt{FirmwareFeatures}.
+
+ Added bits to \texttt{FirmwareFeatures}:
+
+ \begin{itemize}
+ \item \texttt{FW\_FEATURE\_SUPPORTS\_CSM\_LEGACY\_MODE} (\texttt{0x1})
+ - Without this bit it is not possible to reboot to Windows installed on
+ a drive with EFI partition being not the first partition on the disk.
+ \item \texttt{FW\_FEATURE\_SUPPORTS\_UEFI\_WINDOWS\_BOOT} (\texttt{0x20000000})
+ - Without this bit it is not possible to reboot to Windows installed on
+ a drive with EFI partition being the first partition on the disk.
+ \end{itemize}
- Without this bit it is not possible to reboot to Windows installed on
- a drive with EFI partition being not the first partition on the disk.
-
- \emph{Note}: This was enabled unconditionally in older OpenCore versions.
\item
\texttt{SystemProductName}\\
\textbf{Type}: \texttt{plist\ string}\\
diff --git a/Docs/Differences/Differences.pdf b/Docs/Differences/Differences.pdf
index aa9d11f65c8201333001c4d9a3307dcf1b218b80..85a0919b42b67f728f5fae14d56ff4e998298a22 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 447a0a8efe752f3458d414b84f783eb2bd699f18..0832292e1a3b08311edef568ac1a7307007a5822 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 Fri Jan 17 12:56:17 2020
-%DIF ADD ../Configuration.tex Sat Jan 25 12:18:44 2020
+%DIF ADD ../Configuration.tex Sat Jan 25 14:22:59 2020
\usepackage{lmodern}
\usepackage{amssymb,amsmath}
@@ -3134,16 +3134,27 @@ be used. Version with macOS specific enhancements can be downloaded from
in \texttt{SystemManufacturer} description. However, certain firmwares
may not provide valid values otherwise, which could break some software.
\item
- \texttt{SupportsCsm}\\
+ \texttt{\DIFdelbegin \DIFdel{SupportsCsm}\DIFdelend \DIFaddbegin \DIFadd{AdviseWindows}\DIFaddend }\\
\textbf{Type}: \texttt{plist\ boolean}\\
\textbf{Failsafe}: \texttt{false}\\
- \textbf{Description}: Forces CSM support in \texttt{FirmwareFeatures}.
+ \textbf{Description}: Forces \DIFdelbegin \DIFdel{CSM }\DIFdelend \DIFaddbegin \DIFadd{Windows }\DIFaddend support in \texttt{FirmwareFeatures}.
- Without this bit it is not possible to reboot to Windows installed on
- a drive with EFI partition being not the first partition on the disk.
+ \DIFaddbegin \DIFadd{Added bits to }\texttt{\DIFadd{FirmwareFeatures}}\DIFadd{:
+}
- \emph{Note}: This was enabled unconditionally in older OpenCore versions.
-\item
+ \begin{itemize}
+ \item \texttt{\DIFadd{FW\_FEATURE\_SUPPORTS\_CSM\_LEGACY\_MODE}} \DIFadd{(}\texttt{\DIFadd{0x1}}\DIFadd{)
+ - }\DIFaddend Without this bit it is not possible to reboot to Windows installed on
+ a drive with EFI partition being not the first partition on the disk.
+ \DIFaddbegin \item \texttt{\DIFadd{FW\_FEATURE\_SUPPORTS\_UEFI\_WINDOWS\_BOOT}} \DIFadd{(}\texttt{\DIFadd{0x20000000}}\DIFadd{)
+ - Without this bit it is not possible to reboot to Windows installed on
+ a drive with EFI partition being the first partition on the disk.
+ }\end{itemize}
+\DIFaddend
+
+\DIFdelbegin \emph{\DIFdel{Note}}%DIFAUXCMD
+\DIFdel{: This was enabled unconditionally in older OpenCore versions.
+ }\DIFdelend \item
\texttt{SystemProductName}\\
\textbf{Type}: \texttt{plist\ string}\\
\textbf{Failsafe}: \texttt{MacPro6,1}\\
diff --git a/Docs/Sample.plist b/Docs/Sample.plist
index 415e29298def79876bf47fa284b1f50ee8511822..cf115cc28a1a8a8254f413880869d5bc0e72aecd 100644
--- a/Docs/Sample.plist
+++ b/Docs/Sample.plist
@@ -717,14 +717,14 @@
Generic
+ AdviseWindows
+
MLB
M000000000001
ROM
ESIzAAAA
SpoofVendor
- SupportsCsm
-
SystemProductName
MacPro5,1
SystemSerialNumber
diff --git a/Docs/SampleFull.plist b/Docs/SampleFull.plist
index f8e01165ae1a74819973acc5576710cb4c44f45d..400f464327ff92e3da91b3558914c5950b1c36f1 100644
--- a/Docs/SampleFull.plist
+++ b/Docs/SampleFull.plist
@@ -748,14 +748,14 @@
Generic
+ AdviseWindows
+
MLB
M000000000001
ROM
ESIzAAAA
SpoofVendor
- SupportsCsm
-
SystemProductName
MacPro5,1
SystemSerialNumber
diff --git a/Platform/OpenCore/OpenCorePlatform.c b/Platform/OpenCore/OpenCorePlatform.c
index 8716067b9f32ccef04d3808bbc151ec3d022a00e..0c247c3246d1de5ecd7737bd2cf95aa862462904 100644
--- a/Platform/OpenCore/OpenCorePlatform.c
+++ b/Platform/OpenCore/OpenCorePlatform.c
@@ -347,9 +347,9 @@ OcPlatformUpdateSmbios (
// https://github.com/acidanthera/bugtracker/issues/327
// https://sourceforge.net/p/cloverefiboot/tickets/435
//
- if (Config->PlatformInfo.Generic.SupportsCsm) {
- Data.FirmwareFeatures |= FW_FEATURE_SUPPORTS_CSM_LEGACY_MODE;
- Data.FirmwareFeaturesMask |= FW_FEATURE_SUPPORTS_CSM_LEGACY_MODE;
+ if (Config->PlatformInfo.Generic.AdviseWindows) {
+ Data.FirmwareFeatures |= FW_FEATURE_SUPPORTS_CSM_LEGACY_MODE | FW_FEATURE_SUPPORTS_UEFI_WINDOWS_BOOT;
+ Data.FirmwareFeaturesMask |= FW_FEATURE_SUPPORTS_CSM_LEGACY_MODE | FW_FEATURE_SUPPORTS_UEFI_WINDOWS_BOOT;
}
Data.ProcessorType = NULL;