提交 badcd125 编写于 作者: V vit9696

OcConsoleLib: Added UGA protocol compatibility in `ProvideConsoleGop` quirk

This is required by 10.4 EfiBoot
上级 c9a7e2ea
......@@ -20,6 +20,7 @@ OpenCore Changelog
- Added 11.0 support for `AvoidRuntimeDefrag` Booter quirk
- Fixed 11.0 lapic kernel quirk as of DP1
- Improved boot selection scripts for macOS without NVRAM
- Added UGA protocol compatibility in `ProvideConsoleGop` quirk
#### v0.5.9
- Added full HiDPI support in OpenCanopy
......
......@@ -5104,9 +5104,10 @@ functioning. Feature highlights:
\textbf{Failsafe}: \texttt{false}\\
\textbf{Description}: Ensure GOP (Graphics Output Protocol) on console handle.
macOS bootloader requires GOP to be present on console handle, yet the exact
location of GOP is not covered by the UEFI specification. This option will
ensure GOP is installed on console handle if it is present.
macOS bootloader requires GOP or UGA (for 10.4 EfiBoot) to be present on console
handle, yet the exact location of the graphics protocol is not covered by the
UEFI specification. This option will ensure GOP and UGA, if present, are available
on the console handle.
\emph{Note}: This option will also replace broken GOP protocol on console handle,
which may be the case on \texttt{MacPro5,1} with newer GPUs.
......
\documentclass[]{article}
%DIF LATEXDIFF DIFFERENCE FILE
%DIF DEL PreviousConfiguration.tex Fri Jun 26 18:57:44 2020
%DIF ADD ../Configuration.tex Fri Jun 26 18:57:44 2020
%DIF DEL PreviousConfiguration.tex Tue Jun 2 03:55:18 2020
%DIF ADD ../Configuration.tex Sun Jun 28 09:37:24 2020
\usepackage{lmodern}
\usepackage{amssymb,amsmath}
......@@ -5205,9 +5205,10 @@ functioning. Feature highlights:
\textbf{Failsafe}: \texttt{false}\\
\textbf{Description}: Ensure GOP (Graphics Output Protocol) on console handle.
macOS bootloader requires GOP to be present on console handle, yet the exact
location of GOP is not covered by the UEFI specification. This option will
ensure GOP is installed on console handle if it is present.
macOS bootloader requires GOP \DIFaddbegin \DIFadd{or UGA (for 10.4 EfiBoot) }\DIFaddend to be present on console
handle, yet the exact location of \DIFdelbegin \DIFdel{GOP }\DIFdelend \DIFaddbegin \DIFadd{the graphics protocol }\DIFaddend is not covered by the
UEFI specification. This option will ensure GOP \DIFdelbegin \DIFdel{is installed on console handle if it is present}\DIFdelend \DIFaddbegin \DIFadd{and UGA, if present, are available
on the console handle}\DIFaddend .
\emph{Note}: This option will also replace broken GOP protocol on console handle,
which may be the case on \texttt{MacPro5,1} with newer GPUs.
......
......@@ -63,15 +63,30 @@ ConsoleHandleProtocol (
Status = mOriginalHandleProtocol (Handle, Protocol, Interface);
if (Status == EFI_UNSUPPORTED) {
if (CompareGuid (&gEfiGraphicsOutputProtocolGuid, Protocol)
&& mConsoleGraphicsOutput != NULL) {
if (Status != EFI_UNSUPPORTED) {
return Status;
}
if (CompareGuid (&gEfiGraphicsOutputProtocolGuid, Protocol)) {
if (mConsoleGraphicsOutput != NULL) {
*Interface = mConsoleGraphicsOutput;
Status = EFI_SUCCESS;
return EFI_SUCCESS;
}
} else if (CompareGuid (&gEfiUgaDrawProtocolGuid, Protocol)) {
//
// EfiBoot from 10.4 can only use UgaDraw protocol.
//
Status = gBS->LocateProtocol (
&gEfiUgaDrawProtocolGuid,
NULL,
Interface
);
if (!EFI_ERROR (Status)) {
return EFI_SUCCESS;
}
}
return Status;
return EFI_UNSUPPORTED;
}
VOID
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册