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;