Display efi framebuffer dimensions on boot
The EFI framebuffer produces corrupted output on certain systems. For now display the framebuffer parameters (address, dimensions, etc.) on boot to aid in tracking down these issues. Sponsored by: The FreeBSD Foundation
This commit is contained in:
@@ -225,8 +225,15 @@ bi_load_efi_data(struct preloaded_file *kfp)
|
||||
struct efi_map_header *efihdr;
|
||||
struct efi_fb efifb;
|
||||
|
||||
if (efi_find_framebuffer(&efifb) == 0)
|
||||
if (efi_find_framebuffer(&efifb) == 0) {
|
||||
printf("EFI framebuffer information:\n");
|
||||
printf("addr, size 0x%lx, 0x%lx\n", efifb.fb_addr, efifb.fb_size);
|
||||
printf("dimensions %d x %d\n", efifb.fb_width, efifb.fb_height);
|
||||
printf("stride %d\n", efifb.fb_stride);
|
||||
printf("masks 0x%08x, 0x%08x, 0x%08x, 0x%08x\n", efifb.fb_mask_red, efifb.fb_mask_green, efifb.fb_mask_blue, efifb.fb_mask_reserved);
|
||||
|
||||
file_addmetadata(kfp, MODINFOMD_EFI_FB, sizeof(efifb), &efifb);
|
||||
}
|
||||
|
||||
efisz = (sizeof(struct efi_map_header) + 0xf) & ~0xf;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user