diff --git a/Docs/Configuration.pdf b/Docs/Configuration.pdf index b8a84953..c3ba40c3 100644 Binary files a/Docs/Configuration.pdf and b/Docs/Configuration.pdf differ diff --git a/Docs/Configuration.tex b/Docs/Configuration.tex index 46fe4227..6576650c 100755 --- a/Docs/Configuration.tex +++ b/Docs/Configuration.tex @@ -1029,6 +1029,17 @@ To view their current state use \texttt{pmset -g} command in Terminal. \emph{Note}: Most but Apple and VMware firmwares need this quirk. +\item + \texttt{DevirtualiseMmio}\\ + \textbf{Type}: \texttt{plist\ boolean}\\ + \textbf{Failsafe}: \texttt{false}\\ + \textbf{Description}: Remove runtime attribute from select MMIO regions. + + This option reduces stolen memory footprint from the memory map by removing + runtime bit for known memory regions. This quirk may result in the increase + of KASLR slides available, but is not necessarily compatible with the target + board. + \item \texttt{DisableVariableWrite}\\ \textbf{Type}: \texttt{plist\ boolean}\\ diff --git a/Docs/Differences/Differences.pdf b/Docs/Differences/Differences.pdf index 82c217f9..ef2714d7 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 c5d7ec19..cf066840 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 Sun Aug 11 01:57:12 2019 -%DIF ADD ../Configuration.tex Tue Aug 27 11:19:40 2019 +%DIF DEL PreviousConfiguration.tex Tue Aug 20 14:26:36 2019 +%DIF ADD ../Configuration.tex Thu Aug 29 13:38:28 2019 \usepackage{lmodern} \usepackage{amssymb,amsmath} @@ -1097,7 +1097,20 @@ To view their current state use \texttt{pmset -g} command in Terminal. \emph{Note}: Most but Apple and VMware firmwares need this quirk. \item - \texttt{DisableVariableWrite}\\ + \DIFaddbegin \texttt{\DIFadd{DevirtualiseMmio}}\\ + \textbf{\DIFadd{Type}}\DIFadd{: }\texttt{\DIFadd{plist\ boolean}}\\ + \textbf{\DIFadd{Failsafe}}\DIFadd{: }\texttt{\DIFadd{false}}\\ + \textbf{\DIFadd{Description}}\DIFadd{: Remove runtime attribute from select MMIO regions. +} + + \DIFadd{This option reduces stolen memory footprint from the memory map by removing + runtime bit for known memory regions. This quirk may result in the increase + of KASLR slides available, but is not necessarily compatible with the target + board. +} + +\item + \DIFaddend \texttt{DisableVariableWrite}\\ \textbf{Type}: \texttt{plist\ boolean}\\ \textbf{Failsafe}: \texttt{false}\\ \textbf{Description}: Protect from macOS NVRAM write access. diff --git a/Docs/Sample.plist b/Docs/Sample.plist index 1d3148c9..eac21d4e 100644 --- a/Docs/Sample.plist +++ b/Docs/Sample.plist @@ -189,6 +189,8 @@ AvoidRuntimeDefrag + DevirtualiseMmio + DisableVariableWrite DiscardHibernateMap diff --git a/Docs/SampleFull.plist b/Docs/SampleFull.plist index 458c6686..e6dc4849 100644 --- a/Docs/SampleFull.plist +++ b/Docs/SampleFull.plist @@ -189,6 +189,8 @@ AvoidRuntimeDefrag + DevirtualiseMmio + DisableVariableWrite DiscardHibernateMap diff --git a/Platform/OpenCore/OpenCoreUefi.c b/Platform/OpenCore/OpenCoreUefi.c index 2feac2c7..95477ccb 100644 --- a/Platform/OpenCore/OpenCoreUefi.c +++ b/Platform/OpenCore/OpenCoreUefi.c @@ -273,6 +273,7 @@ OcLoadBooterUefiSupport ( ZeroMem (&AbcSettings, sizeof (AbcSettings)); AbcSettings.AvoidRuntimeDefrag = Config->Booter.Quirks.AvoidRuntimeDefrag; + AbcSettings.DevirtualiseMmio = Config->Booter.Quirks.DevirtualiseMmio; AbcSettings.DisableVariableWrite = Config->Booter.Quirks.DisableVariableWrite; AbcSettings.DiscardHibernateMap = Config->Booter.Quirks.DiscardHibernateMap; AbcSettings.EnableSafeModeSlide = Config->Booter.Quirks.EnableSafeModeSlide;