From 8b868f32f7e1b57c90da65157ea59eb6ce337cc9 Mon Sep 17 00:00:00 2001 From: "A. Wilcox" Date: Sun, 1 Oct 2023 03:44:11 -0500 Subject: user/grub: Update to 2.12_rc1 Fixes: #1065, #1066, #1073 --- user/grub/0007-efi_gop-shadow.patch | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 user/grub/0007-efi_gop-shadow.patch (limited to 'user/grub/0007-efi_gop-shadow.patch') diff --git a/user/grub/0007-efi_gop-shadow.patch b/user/grub/0007-efi_gop-shadow.patch new file mode 100644 index 000000000..7709641cd --- /dev/null +++ b/user/grub/0007-efi_gop-shadow.patch @@ -0,0 +1,37 @@ +From 34a3adff822a6d136430e631d0a93448b27fac4e Mon Sep 17 00:00:00 2001 +From: Heinrich Schuchardt +Date: Mon, 28 Aug 2023 23:50:09 +0200 +Subject: video/efi_gop: Require shadow if PixelBltOnly + +If the EFI graphics pixel format is PixelBltOnly, we cannot write directly +to the frame buffer. We need the shadow frame buffer which we copy via +the BitBlt operation to the hardware. + +If the pixel format is PixelBltOnly and allocation of the shadow frame +buffer fails, we must raise an error to signal that the EFI GOP protocol +is not usable. + +Signed-off-by: Heinrich Schuchardt +Reviewed-by: Daniel Kiper +--- + grub-core/video/efi_gop.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/grub-core/video/efi_gop.c b/grub-core/video/efi_gop.c +index 7247aee..9452f5e 100644 +--- a/grub-core/video/efi_gop.c ++++ b/grub-core/video/efi_gop.c +@@ -480,6 +480,10 @@ grub_video_gop_setup (unsigned int width, unsigned int height, + if (!buffer) + { + grub_dprintf ("video", "GOP: couldn't allocate shadow\n"); ++ ++ if (info->pixel_format == GRUB_EFI_GOT_BLT_ONLY) ++ return grub_error (GRUB_ERR_OUT_OF_MEMORY, N_("out of memory")); ++ + grub_errno = 0; + grub_video_gop_fill_mode_info (gop->mode->mode, info, + &framebuffer.mode_info); +-- +cgit v1.1 + -- cgit v1.2.3-60-g2f50