提交 2690e584 编写于 作者: V vit9696

Docs: Fixed assertions on log exhaustion causing boot failures

closes acidanthera/bugtracker#445
上级 52c7579c
......@@ -25,6 +25,7 @@ OpenCore Changelog
- Removed `RequestBootVarFallback` due to numerous bugs
- Added `DeduplicateBootOrder` UEFI quirk
- Removed `DirectGopCacheMode` due to being ineffective
- Fixed assertions on log exhaustion causing boot failures
#### v0.5.8
- Fixed invalid CPU object reference in SSDT-PLUG
......
......@@ -557,12 +557,13 @@ the list of modifications across all published updates.
\subsection{Contribution}\label{configuration-comp}
OpenCore can be compiled as an ordinary
\href{https://github.com/tianocore/tianocore.github.io/wiki/EDK-II}{EDK II}.
\href{https://github.com/tianocore/tianocore.github.io/wiki/EDK-II}{EDK II} package.
Since \href{https://github.com/tianocore/tianocore.github.io/wiki/UDK}{UDK}
development was abandoned by TianoCore, OpenCore requires the use of
\href{https://github.com/tianocore/tianocore.github.io/wiki/EDK-II#stable-tags}{EDK II Stable}.
Currently supported EDK II release (potentially with patches enhancing the experience)
is hosted in \href{https://github.com/acidanthera/audk}{acidanthera/audk}.
Currently supported EDK II release is hosted in
\href{https://github.com/acidanthera/audk}{acidanthera/audk}. The required patches
for the package are present in \texttt{Patches} directory.
The only officially supported toolchain is \texttt{XCODE5}. Other toolchains
might work, but are neither supported, nor recommended. Contribution of clean
......
\documentclass[]{article}
%DIF LATEXDIFF DIFFERENCE FILE
%DIF DEL PreviousConfiguration.tex Mon May 11 17:11:58 2020
%DIF ADD ../Configuration.tex Wed May 13 16:09:11 2020
%DIF ADD ../Configuration.tex Wed May 13 22:16:41 2020
\usepackage{lmodern}
\usepackage{amssymb,amsmath}
......@@ -718,12 +718,15 @@ the list of modifications across all published updates.
\subsection{Contribution}\label{configuration-comp}
OpenCore can be compiled as an ordinary
\href{https://github.com/tianocore/tianocore.github.io/wiki/EDK-II}{EDK II}.
\href{https://github.com/tianocore/tianocore.github.io/wiki/EDK-II}{EDK II} \DIFaddbegin \DIFadd{package}\DIFaddend .
Since \href{https://github.com/tianocore/tianocore.github.io/wiki/UDK}{UDK}
development was abandoned by TianoCore, OpenCore requires the use of
\href{https://github.com/tianocore/tianocore.github.io/wiki/EDK-II#stable-tags}{EDK II Stable}.
Currently supported EDK II release (potentially with patches enhancing the experience)
is hosted in \href{https://github.com/acidanthera/audk}{acidanthera/audk}.
Currently supported EDK II release \DIFdelbegin \DIFdel{(potentially with patches enhancing the experience)
}\DIFdelend is hosted in
\href{https://github.com/acidanthera/audk}{acidanthera/audk}. \DIFaddbegin \DIFadd{The required patches
for the package are present in }\texttt{\DIFadd{Patches}} \DIFadd{directory.
}\DIFaddend
The only officially supported toolchain is \texttt{XCODE5}. Other toolchains
might work, but are neither supported, nor recommended. Contribution of clean
......
From 5873c1446d94f03a2111db9d0b78a1637e4a16bb Mon Sep 17 00:00:00 2001
From: Vitaly Cheptsov <vit9696@protonmail.com>
Date: Wed, 13 May 2020 22:10:10 +0300
Subject: [PATCH 1/1] MdePkg: Workaround SafeString from BaseLib misprarsing
data
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2054
Attempts to upstream this failed due to sabotage from Intel.
Refer to edk2-devel mailing list for more details.
---
MdePkg/Library/BaseLib/SafeString.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/MdePkg/Library/BaseLib/SafeString.c b/MdePkg/Library/BaseLib/SafeString.c
index 7dc03d2caa..478b3e9ea2 100644
--- a/MdePkg/Library/BaseLib/SafeString.c
+++ b/MdePkg/Library/BaseLib/SafeString.c
@@ -14,7 +14,6 @@
#define SAFE_STRING_CONSTRAINT_CHECK(Expression, Status) \
do { \
- ASSERT (Expression); \
if (!(Expression)) { \
return Status; \
} \
--
2.24.2 (Apple Git-127)
......@@ -108,15 +108,7 @@ OcProcessVariableGuid (
EFI_STATUS Status;
UINT32 GuidIndex;
//
// FIXME: Checking string length manually is due to inadequate assertions.
//
if (AsciiStrLen (AsciiVariableGuid) == GUID_STRING_LENGTH) {
Status = AsciiStrToGuid (AsciiVariableGuid, VariableGuid);
} else {
Status = EFI_BUFFER_TOO_SMALL;
}
Status = AsciiStrToGuid (AsciiVariableGuid, VariableGuid);
if (EFI_ERROR (Status)) {
DEBUG ((DEBUG_WARN, "OC: Failed to convert NVRAM GUID %a - %r\n", AsciiVariableGuid, Status));
}
......
......@@ -72,8 +72,7 @@ OcPlatformUpdateDataHub (
Data.SystemSerialNumber = OC_BLOB_GET (&Config->PlatformInfo.DataHub.SystemSerialNumber);
}
if (Config->PlatformInfo.DataHub.SystemUuid.Size == GUID_STRING_LENGTH + 1
&& !EFI_ERROR (AsciiStrToGuid (OC_BLOB_GET (&Config->PlatformInfo.DataHub.SystemUuid), &Uuid))) {
if (!EFI_ERROR (AsciiStrToGuid (OC_BLOB_GET (&Config->PlatformInfo.DataHub.SystemUuid), &Uuid))) {
Data.SystemUUID = &Uuid;
}
......@@ -138,8 +137,7 @@ OcPlatformUpdateDataHub (
Data.SystemSerialNumber = OC_BLOB_GET (&Config->PlatformInfo.Generic.SystemSerialNumber);
}
if (Config->PlatformInfo.Generic.SystemUuid.Size == GUID_STRING_LENGTH + 1
&& !EFI_ERROR (AsciiStrToGuid (OC_BLOB_GET (&Config->PlatformInfo.Generic.SystemUuid), &Uuid))) {
if (!EFI_ERROR (AsciiStrToGuid (OC_BLOB_GET (&Config->PlatformInfo.Generic.SystemUuid), &Uuid))) {
Data.SystemUUID = &Uuid;
}
......@@ -211,8 +209,7 @@ OcPlatformUpdateSmbios (
Data.SystemSerialNumber = OC_BLOB_GET (&Config->PlatformInfo.Smbios.SystemSerialNumber);
}
if (Config->PlatformInfo.DataHub.SystemUuid.Size == GUID_STRING_LENGTH + 1
&& !EFI_ERROR (AsciiStrToGuid (OC_BLOB_GET (&Config->PlatformInfo.DataHub.SystemUuid), &Uuid))) {
if (!EFI_ERROR (AsciiStrToGuid (OC_BLOB_GET (&Config->PlatformInfo.DataHub.SystemUuid), &Uuid))) {
Data.SystemUUID = &Uuid;
}
......@@ -310,8 +307,7 @@ OcPlatformUpdateSmbios (
Data.SystemSerialNumber = OC_BLOB_GET (&Config->PlatformInfo.Generic.SystemSerialNumber);
}
if (Config->PlatformInfo.Generic.SystemUuid.Size == GUID_STRING_LENGTH + 1
&& !EFI_ERROR (AsciiStrToGuid (OC_BLOB_GET (&Config->PlatformInfo.Generic.SystemUuid), &Uuid))) {
if (!EFI_ERROR (AsciiStrToGuid (OC_BLOB_GET (&Config->PlatformInfo.Generic.SystemUuid), &Uuid))) {
Data.SystemUUID = &Uuid;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册