Date: Mon, 12 Jan 2026 17:33:07 +0000 From: Ahmad Khalifa <vexeduxr@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Subject: git: 8591ee986b22 - stable/13 - loader.efi: only use firmware provided Blt on GOP Message-ID: <69653053.39612.14942e12@gitrepo.freebsd.org>
index | next in thread | raw e-mail
The branch stable/13 has been updated by vexeduxr: URL: https://cgit.FreeBSD.org/src/commit/?id=8591ee986b22007a98ded2f3dc86e8065f14b213 commit 8591ee986b22007a98ded2f3dc86e8065f14b213 Author: Ahmad Khalifa <vexeduxr@FreeBSD.org> AuthorDate: 2026-01-04 13:15:37 +0000 Commit: Ahmad Khalifa <vexeduxr@FreeBSD.org> CommitDate: 2026-01-12 17:28:03 +0000 loader.efi: only use firmware provided Blt on GOP gfx_state.tg_private points to a EFI_GRAPHICS_OUTPUT_PROTOCOL only when using GOP. The firmware provided Blt functions on UGA platforms have been observed to not work on old MacBooks, and are likley hit or miss anyways as UGA has been deprecated since 2006. Reviewed by: tsoome PR: 291935 MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D54432 (cherry picked from commit 9595055ae7494997bb07b4aaed544f88ac4c5e7f) --- stand/common/gfx_fb.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/stand/common/gfx_fb.c b/stand/common/gfx_fb.c index 27ac66f259b1..8482390ab0ea 100644 --- a/stand/common/gfx_fb.c +++ b/stand/common/gfx_fb.c @@ -84,6 +84,7 @@ #include <sys/cdefs.h> #include <sys/param.h> +#include <assert.h> #include <stand.h> #include <teken.h> #include <gfx_fb.h> @@ -780,7 +781,7 @@ gfxfb_blt(void *BltBuffer, GFXFB_BLT_OPERATION BltOperation, int rv; #if defined(EFI) EFI_STATUS status; - EFI_GRAPHICS_OUTPUT *gop = gfx_state.tg_private; + EFI_GRAPHICS_OUTPUT *gop; EFI_TPL tpl; /* @@ -790,7 +791,9 @@ gfxfb_blt(void *BltBuffer, GFXFB_BLT_OPERATION BltOperation, * done as they are provided by protocols that disappear when exit * boot services. */ - if (gop != NULL && boot_services_active) { + if (gfx_state.tg_fb_type == FB_GOP && boot_services_active) { + assert(gfx_state.tg_private != NULL); + gop = gfx_state.tg_private; tpl = BS->RaiseTPL(TPL_NOTIFY); switch (BltOperation) { case GfxFbBltVideoFill:home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?69653053.39612.14942e12>
