提交 570a537f 编写于 作者: V vit9696

Docs: Document debug tags and improve logging

上级 e6bec3ae
......@@ -2670,6 +2670,69 @@ nvram 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102:boot-log |
Log is attempted to be written in the safest manner, and thus is very slow. Ensure that
\texttt{DisableWatchDog} is set to \texttt{true} when you use a slow drive.
When interpreting the log, note that the lines are prefixed with a tag describing
the relevant location (module) of the log line allowing one to better attribute the line
to the functionality. The list of currently used tags is provided below.
\textbf{Drivers and tools}:
\begin{itemize}
\tightlist
\item \texttt{BMF} --- OpenCanopy, bitmap font
\item \texttt{BS} --- Bootstrap
\item \texttt{GSTT} --- GoptStop
\item \texttt{HDA} --- AudioDxe
\item \texttt{KKT} --- KeyTester
\item \texttt{MMDD} --- MmapDump
\item \texttt{OCPAVP} --- PavpProvision
\item \texttt{OCRST} --- ResetSystem
\item \texttt{OCUI} --- OpenCanopy
\item \texttt{OC} --- OpenCore main
\end{itemize}
\textbf{Libraries}:
\begin{itemize}
\tightlist
\item \texttt{AAPL} --- OcDebugLogLib, Apple EfiBoot logging
\item \texttt{OCABC} --- OcAfterBootCompatLib
\item \texttt{OCAE} --- OcAppleEventLib
\item \texttt{OCAK} --- OcAppleKernelLib
\item \texttt{OCAU} --- OcAudioLib
\item \texttt{OCAV} --- OcAppleImageVerificationLib
\item \texttt{OCA} ---- OcAcpiLib
\item \texttt{OCBP} --- OcAppleBootPolicyLib
\item \texttt{OCB} --- OcBootManagementLib
\item \texttt{OCCL} --- OcAppleChunkListLib
\item \texttt{OCCPU} --- OcCpuLib
\item \texttt{OCC} --- OcConsoleLib
\item \texttt{OCDH} --- OcDataHubLib
\item \texttt{OCDI} --- OcAppleDiskImageLib
\item \texttt{OCFSQ} --- OcFileLib, UnblockFs quirk
\item \texttt{OCFS} --- OcFileLib
\item \texttt{OCFV} --- OcFirmwareVolumeLib
\item \texttt{OCHS} --- OcHashServicesLib
\item \texttt{OCIC} --- OcImageConversionLib
\item \texttt{OCII} --- OcInputLib
\item \texttt{OCJS} --- OcApfsLib
\item \texttt{OCKM} --- OcAppleKeyMapLib
\item \texttt{OCL} --- OcDebugLogLib
\item \texttt{OCMCO} --- OcMachoLib
\item \texttt{OCME} --- OcHeciLib
\item \texttt{OCMM} --- OcMemoryLib
\item \texttt{OCPI} --- OcFileLib, partition info
\item \texttt{OCPNG} --- OcPngLib
\item \texttt{OCRAM} --- OcAppleRamDiskLib
\item \texttt{OCRTC} --- OcRtcLib
\item \texttt{OCSB} --- OcAppleSecureBootLib
\item \texttt{OCSMB} --- OcSmbiosLib
\item \texttt{OCSMC} --- OcSmcLib
\item \texttt{OCST} --- OcStorageLib
\item \texttt{OCS} --- OcSerializedLib
\item \texttt{OCTPL} --- OcTemplateLib
\item \texttt{OCUC} --- OcUnicodeCollationLib
\item \texttt{OCUT} --- OcAppleUserInterfaceThemeLib
\item \texttt{OCXML} --- OcXmlLib
\end{itemize}
\end{enumerate}
\subsection{Security Properties}\label{miscsecurityprops}
......
\documentclass[]{article}
%DIF LATEXDIFF DIFFERENCE FILE
%DIF DEL PreviousConfiguration.tex Mon May 11 17:11:58 2020
%DIF ADD ../Configuration.tex Sun May 17 14:42:56 2020
%DIF ADD ../Configuration.tex Sun May 17 17:14:55 2020
\usepackage{lmodern}
\usepackage{amssymb,amsmath}
......@@ -2912,7 +2912,71 @@ nvram 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102:boot-log |
Log is attempted to be written in the safest manner, and thus is very slow. Ensure that
\texttt{DisableWatchDog} is set to \texttt{true} when you use a slow drive.
\end{enumerate}
\DIFaddbegin \DIFadd{When interpreting the log, note that the lines are prefixed with a tag describing
the relevant location (module) of the log line allowing one to better attribute the line
to the functionality. The list of currently used tags is provided below.
}
\textbf{\DIFadd{Drivers and tools}}\DIFadd{:
}\begin{itemize}
\tightlist
\item \texttt{\DIFadd{BMF}} \DIFadd{--- OpenCanopy, bitmap font
}\item \texttt{\DIFadd{BS}} \DIFadd{--- Bootstrap
}\item \texttt{\DIFadd{GSTT}} \DIFadd{--- GoptStop
}\item \texttt{\DIFadd{HDA}} \DIFadd{--- AudioDxe
}\item \texttt{\DIFadd{KKT}} \DIFadd{--- KeyTester
}\item \texttt{\DIFadd{MMDD}} \DIFadd{--- MmapDump
}\item \texttt{\DIFadd{OCPAVP}} \DIFadd{--- PavpProvision
}\item \texttt{\DIFadd{OCRST}} \DIFadd{--- ResetSystem
}\item \texttt{\DIFadd{OCUI}} \DIFadd{--- OpenCanopy
}\item \texttt{\DIFadd{OC}} \DIFadd{--- OpenCore main
}\end{itemize}
\textbf{\DIFadd{Libraries}}\DIFadd{:
}\begin{itemize}
\tightlist
\item \texttt{\DIFadd{AAPL}} \DIFadd{--- OcDebugLogLib, Apple EfiBoot logging
}\item \texttt{\DIFadd{OCABC}} \DIFadd{--- OcAfterBootCompatLib
}\item \texttt{\DIFadd{OCAE}} \DIFadd{--- OcAppleEventLib
}\item \texttt{\DIFadd{OCAK}} \DIFadd{--- OcAppleKernelLib
}\item \texttt{\DIFadd{OCAU}} \DIFadd{--- OcAudioLib
}\item \texttt{\DIFadd{OCAV}} \DIFadd{--- OcAppleImageVerificationLib
}\item \texttt{\DIFadd{OCA}} \DIFadd{---- OcAcpiLib
}\item \texttt{\DIFadd{OCBP}} \DIFadd{--- OcAppleBootPolicyLib
}\item \texttt{\DIFadd{OCB}} \DIFadd{--- OcBootManagementLib
}\item \texttt{\DIFadd{OCCL}} \DIFadd{--- OcAppleChunkListLib
}\item \texttt{\DIFadd{OCCPU}} \DIFadd{--- OcCpuLib
}\item \texttt{\DIFadd{OCC}} \DIFadd{--- OcConsoleLib
}\item \texttt{\DIFadd{OCDH}} \DIFadd{--- OcDataHubLib
}\item \texttt{\DIFadd{OCDI}} \DIFadd{--- OcAppleDiskImageLib
}\item \texttt{\DIFadd{OCFSQ}} \DIFadd{--- OcFileLib, UnblockFs quirk
}\item \texttt{\DIFadd{OCFS}} \DIFadd{--- OcFileLib
}\item \texttt{\DIFadd{OCFV}} \DIFadd{--- OcFirmwareVolumeLib
}\item \texttt{\DIFadd{OCHS}} \DIFadd{--- OcHashServicesLib
}\item \texttt{\DIFadd{OCIC}} \DIFadd{--- OcImageConversionLib
}\item \texttt{\DIFadd{OCII}} \DIFadd{--- OcInputLib
}\item \texttt{\DIFadd{OCJS}} \DIFadd{--- OcApfsLib
}\item \texttt{\DIFadd{OCKM}} \DIFadd{--- OcAppleKeyMapLib
}\item \texttt{\DIFadd{OCL}} \DIFadd{--- OcDebugLogLib
}\item \texttt{\DIFadd{OCMCO}} \DIFadd{--- OcMachoLib
}\item \texttt{\DIFadd{OCME}} \DIFadd{--- OcHeciLib
}\item \texttt{\DIFadd{OCMM}} \DIFadd{--- OcMemoryLib
}\item \texttt{\DIFadd{OCPI}} \DIFadd{--- OcFileLib, partition info
}\item \texttt{\DIFadd{OCPNG}} \DIFadd{--- OcPngLib
}\item \texttt{\DIFadd{OCRAM}} \DIFadd{--- OcAppleRamDiskLib
}\item \texttt{\DIFadd{OCRTC}} \DIFadd{--- OcRtcLib
}\item \texttt{\DIFadd{OCSB}} \DIFadd{--- OcAppleSecureBootLib
}\item \texttt{\DIFadd{OCSMB}} \DIFadd{--- OcSmbiosLib
}\item \texttt{\DIFadd{OCSMC}} \DIFadd{--- OcSmcLib
}\item \texttt{\DIFadd{OCST}} \DIFadd{--- OcStorageLib
}\item \texttt{\DIFadd{OCS}} \DIFadd{--- OcSerializedLib
}\item \texttt{\DIFadd{OCTPL}} \DIFadd{--- OcTemplateLib
}\item \texttt{\DIFadd{OCUC}} \DIFadd{--- OcUnicodeCollationLib
}\item \texttt{\DIFadd{OCUT}} \DIFadd{--- OcAppleUserInterfaceThemeLib
}\item \texttt{\DIFadd{OCXML}} \DIFadd{--- OcXmlLib
}\end{itemize}
\DIFaddend \end{enumerate}
\subsection{Security Properties}\label{miscsecurityprops}
......
......@@ -238,7 +238,7 @@ SetDataHubEntry (
DEBUG ((
EFI_ERROR (Status) ? DEBUG_WARN : DEBUG_INFO,
"Setting DataHub %g:%s (%u) - %r\n",
"OCDH: Setting DataHub %g:%s (%u) - %r\n",
&gApplePlatformProducerNameGuid,
Key,
DataSize,
......
......@@ -141,7 +141,7 @@ AIKSourceInstall (
Status = gBS->HandleProtocol (Source->ConSplitHandler, &gAmiEfiKeycodeProtocolGuid,
(VOID * *)& Source->AmiKeycode);
if (EFI_ERROR (Status)) {
DEBUG ((DEBUG_INFO, "AmiEfiKeycodeProtocol is unavailable on gST->ConsoleHandle - %r\n", Status));
DEBUG ((DEBUG_INFO, "OCII: AmiEfiKeycodeProtocol is unavailable on gST->ConsoleHandle - %r\n", Status));
}
}
......@@ -149,7 +149,7 @@ AIKSourceInstall (
Status = gBS->HandleProtocol (Source->ConSplitHandler, &gEfiSimpleTextInProtocolGuid,
(VOID * *)& Source->TextInput);
if (EFI_ERROR (Status)) {
DEBUG ((DEBUG_INFO, "EfiSimpleTextInProtocol is unavailable on gST->ConsoleHandle - %r\n", Status));
DEBUG ((DEBUG_INFO, "OCII: EfiSimpleTextInProtocol is unavailable on gST->ConsoleHandle - %r\n", Status));
}
}
......@@ -157,16 +157,16 @@ AIKSourceInstall (
Status = gBS->HandleProtocol (Source->ConSplitHandler, &gEfiSimpleTextInputExProtocolGuid,
(VOID * *)& Source->TextInputEx);
if (EFI_ERROR (Status)) {
DEBUG ((DEBUG_INFO, "EfiSimpleTextInputExProtocol is unavailable on gST->ConsoleHandle - %r\n", Status));
DEBUG ((DEBUG_INFO, "OCII: EfiSimpleTextInputExProtocol is unavailable on gST->ConsoleHandle - %r\n", Status));
}
}
if (Source->AmiKeycode == NULL && Source->TextInput == NULL && Source->TextInputEx == NULL) {
DEBUG ((DEBUG_INFO, "No ConSplitter input protocol is unavailable\n"));
DEBUG ((DEBUG_INFO, "OCII: No ConSplitter input protocol is unavailable\n"));
return EFI_NOT_FOUND;
}
DEBUG ((DEBUG_INFO, "gST->ConIn %p vs found %p\n", gST->ConIn, Source->TextInput));
DEBUG ((DEBUG_INFO, "OCII: gST->ConIn %p vs found %p\n", gST->ConIn, Source->TextInput));
//
// We additionally reset the protocols as our buffers are empty, and we do not want old data.
......@@ -183,7 +183,7 @@ AIKSourceInstall (
NULL, &Source->AmiKeycode->WaitForKeyEx
);
if (EFI_ERROR (Status)) {
DEBUG ((DEBUG_INFO, "AmiEfiKeycodeProtocol WaitForKey replace failed - %r", Status));
DEBUG ((DEBUG_INFO, "OCII: AmiEfiKeycodeProtocol WaitForKey replace failed - %r", Status));
Source->AmiKeycode->WaitForKeyEx = Source->AmiWait;
Source->AmiWait = NULL;
}
......@@ -201,7 +201,7 @@ AIKSourceInstall (
NULL, &Source->TextInput->WaitForKey
);
if (EFI_ERROR (Status)) {
DEBUG ((DEBUG_INFO, "EfiSimpleTextInProtocol WaitForKey replace failed - %r", Status));
DEBUG ((DEBUG_INFO, "OCII: EfiSimpleTextInProtocol WaitForKey replace failed - %r", Status));
Source->TextInput->WaitForKey = Source->TextWait;
Source->TextWait = NULL;
}
......@@ -219,7 +219,7 @@ AIKSourceInstall (
NULL, &Source->TextInputEx->WaitForKeyEx
);
if (EFI_ERROR (Status)) {
DEBUG ((DEBUG_INFO, "EfiSimpleTextInputExProtocol WaitForKey replace failed - %r", Status));
DEBUG ((DEBUG_INFO, "OCII: EfiSimpleTextInputExProtocol WaitForKey replace failed - %r", Status));
Source->TextInputEx->WaitForKeyEx = Source->TextWaitEx;
Source->TextWaitEx = NULL;
}
......
......@@ -35,14 +35,14 @@ OcAppleGenericInputTimerQuirkInit (
if (!EFI_ERROR (Status)) {
Status = mTimerProtocol->GetTimerPeriod (mTimerProtocol, &mOriginalTimerPeriod);
if (!EFI_ERROR (Status)) {
DEBUG ((DEBUG_INFO, "AIFTimerBoostInit Current timer is %u\n", mOriginalTimerPeriod));
DEBUG ((DEBUG_INFO, "OCII: AIFTimerBoostInit Current timer is %u\n", mOriginalTimerPeriod));
if (mOriginalTimerPeriod > TimerResolution) {
Status = mTimerProtocol->SetTimerPeriod (mTimerProtocol, TimerResolution);
if (!EFI_ERROR (Status)) {
DEBUG ((DEBUG_INFO, "AIFTimerBoostInit changed period %d to %d\n",
DEBUG ((DEBUG_INFO, "OCII: AIFTimerBoostInit changed period %d to %d\n",
mOriginalTimerPeriod, TimerResolution));
} else {
DEBUG ((DEBUG_INFO, "AIFTimerBoostInit failed to change period %d to %d, error - %r\n",
DEBUG ((DEBUG_INFO, "OCII: AIFTimerBoostInit failed to change period %d to %d, error - %r\n",
mOriginalTimerPeriod, TimerResolution, Status));
mTimerProtocol = NULL;
}
......@@ -50,10 +50,10 @@ OcAppleGenericInputTimerQuirkInit (
mTimerProtocol = NULL;
}
} else {
DEBUG ((DEBUG_INFO, "AIFTimerBoostInit failed to obtain previous period - %r\n", Status));
DEBUG ((DEBUG_INFO, "OCII: AIFTimerBoostInit failed to obtain previous period - %r\n", Status));
}
} else {
DEBUG ((DEBUG_INFO, "AIFTimerBoostInit gEfiTimerArchProtocolGuid not found - %r\n", Status));
DEBUG ((DEBUG_INFO, "OCII: AIFTimerBoostInit gEfiTimerArchProtocolGuid not found - %r\n", Status));
}
return Status;
......
......@@ -211,28 +211,24 @@ BmfContextInitialize (
DEBUG ((
DEBUG_INFO,
"Info->fontSize %u\n"
"Info->bitField %u\n"
"Info->charSet %u\n"
"Info->stretchH %u\n"
"Info->aa %u\n"
"Info->paddingUp %u\n"
"Info->paddingRight %u\n"
"Info->paddingDown %u\n"
"Info->paddingLeft %u\n"
"Info->spacingHoriz %u\n"
"Info->spacingVert %u\n"
"Info->outline %u\n"
"Info->fontName %a\n",
"OCUI: Info->fontSize %u Info->bitField %u Info->charSet %u Info->stretchH %u Info->aa %u\n",
Context->Info->fontSize,
Context->Info->bitField,
Context->Info->charSet,
Context->Info->stretchH,
Context->Info->aa,
Context->Info->aa
));
DEBUG ((
DEBUG_INFO,
"OCUI: Info->paddingUp %u Info->paddingRight %u Info->paddingDown %u Info->paddingLeft %u\n",
Context->Info->paddingUp,
Context->Info->paddingRight,
Context->Info->paddingDown,
Context->Info->paddingLeft,
Context->Info->paddingLeft
));
DEBUG ((
DEBUG_INFO,
"OCUI: Info->spacingHoriz %u Info->spacingVert %u Info->outline %u Info->fontName %a\n",
Context->Info->spacingHoriz,
Context->Info->spacingVert,
Context->Info->outline,
......
......@@ -706,7 +706,7 @@ OcKernelFileOpen (
DEBUG ((
DEBUG_VERBOSE,
"Opening file %s with %u mode gave - %r\n",
"OC: Opening file %s with %u mode gave - %r\n",
FileName,
(UINT32) OpenMode,
Status
......@@ -725,7 +725,7 @@ OcKernelFileOpen (
&& StrStr (FileName, L"kernel") != NULL
&& StrCmp (FileName, L"System\\Library\\Kernels\\kernel") != 0) {
DEBUG ((DEBUG_INFO, "Trying XNU hook on %s\n", FileName));
DEBUG ((DEBUG_INFO, "OC: Trying XNU hook on %s\n", FileName));
Status = ReadAppleKernel (
*NewHandle,
&Kernel,
......@@ -733,7 +733,7 @@ OcKernelFileOpen (
&AllocatedSize,
OcKernelLoadKextsAndReserve (mOcStorage, mOcConfiguration)
);
DEBUG ((DEBUG_INFO, "Result of XNU hook on %s is %r\n", FileName, Status));
DEBUG ((DEBUG_INFO, "OC: Result of XNU hook on %s is %r\n", FileName, Status));
//
// This is not Apple kernel, just return the original file.
......@@ -750,7 +750,7 @@ OcKernelFileOpen (
AllocatedSize
);
DEBUG ((DEBUG_INFO, "Prelinked status - %r\n", PrelinkedStatus));
DEBUG ((DEBUG_INFO, "OC: Prelinked status - %r\n", PrelinkedStatus));
Status = GetFileModifcationTime (*NewHandle, &ModificationTime);
if (EFI_ERROR (Status)) {
......@@ -764,14 +764,14 @@ OcKernelFileOpen (
//
FileNameCopy = AllocateCopyPool (StrSize (FileName), FileName);
if (FileNameCopy == NULL) {
DEBUG ((DEBUG_WARN, "Failed to allocate kernel name (%a) copy\n", FileName));
DEBUG ((DEBUG_WARN, "OC: Failed to allocate kernel name (%a) copy\n", FileName));
FreePool (Kernel);
return EFI_OUT_OF_RESOURCES;
}
Status = CreateVirtualFile (FileNameCopy, Kernel, KernelSize, &ModificationTime, &VirtualFileHandle);
if (EFI_ERROR (Status)) {
DEBUG ((DEBUG_WARN, "Failed to virtualise kernel file (%a)\n", FileName));
DEBUG ((DEBUG_WARN, "OC: Failed to virtualise kernel file (%a)\n", FileName));
FreePool (Kernel);
FreePool (FileNameCopy);
return EFI_OUT_OF_RESOURCES;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册