]> git.ipfire.org Git - thirdparty/grub.git/commit
loader/i386/linux: Transfer EDID information to kernel
authorThomas Zimmermann <tzimmermann@suse.de>
Thu, 2 Oct 2025 12:44:01 +0000 (14:44 +0200)
committerDaniel Kiper <daniel.kiper@oracle.com>
Sat, 11 Oct 2025 13:43:58 +0000 (15:43 +0200)
commite1b9d92a8be7eb99e9f963a4b5280fea85b49877
tree7400fd2fb4b0e011b057609bd5ad774ea38eb1ea
parenta8379e693b00ed523aac96230c778c773fcbb684
loader/i386/linux: Transfer EDID information to kernel

The Linux kernel's struct bootparams provides a field at offset 0x140
for storing an EDID header. Copy the video adapter's data to the field.

The edid_info field was added in 2003 (see "[FBDEV] EDID support from
OpenFirmware on PPC platoforms and from the BIOS on intel platforms."),
but only got useable in 2004 (see "[PATCH] Fix EDID_INFO in zero-page").
The boot protocol was at version 2.03 at that time.

The field was never used much, but with the recent addition of the efidrm
and vesadrm drivers to the kernel, it becomes much more useful. As with
the initial screen setup, these drivers can make use of the provided
EDID information for basic display output.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Neal Gompa <ngompa13@gmail.com>
Reviewed-by: Michael Chang <mchang@suse.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
grub-core/loader/i386/linux.c
grub-core/video/video.c
include/grub/video.h