svn commit: r268227 - head/sys/boot/amd64/efi

Ed Maste emaste at FreeBSD.org
Thu Jul 3 17:53:29 UTC 2014


Author: emaste
Date: Thu Jul  3 17:53:28 2014
New Revision: 268227
URL: http://svnweb.freebsd.org/changeset/base/268227

Log:
  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

Modified:
  head/sys/boot/amd64/efi/bootinfo.c

Modified: head/sys/boot/amd64/efi/bootinfo.c
==============================================================================
--- head/sys/boot/amd64/efi/bootinfo.c	Thu Jul  3 17:42:26 2014	(r268226)
+++ head/sys/boot/amd64/efi/bootinfo.c	Thu Jul  3 17:53:28 2014	(r268227)
@@ -225,8 +225,15 @@ bi_load_efi_data(struct preloaded_file *
 	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;
 


More information about the svn-src-head mailing list