svn commit: r351630 - head/stand/efi/libefi

Toomas Soome tsoome at FreeBSD.org
Fri Aug 30 20:54:31 UTC 2019


Author: tsoome
Date: Fri Aug 30 20:54:30 2019
New Revision: 351630
URL: https://svnweb.freebsd.org/changeset/base/351630

Log:
  qemu-system-aarch64 does list block device with very large block size
  
  Also insert Vendor device as "parent" disk (found in
  qemu-system-aarch64 -cpu cortex-a57).
  
  This does fix lsdev in loader.efi on this platform.

Modified:
  head/stand/efi/libefi/efipart.c

Modified: head/stand/efi/libefi/efipart.c
==============================================================================
--- head/stand/efi/libefi/efipart.c	Fri Aug 30 20:19:43 2019	(r351629)
+++ head/stand/efi/libefi/efipart.c	Fri Aug 30 20:54:30 2019	(r351630)
@@ -255,10 +255,12 @@ efipart_inithandles(void)
 
 		/*
 		 * We assume the block size 512 or greater power of 2.
+		 * Also skip devices with block size > 32k.
 		 * iPXE is known to insert stub BLOCK IO device with
 		 * BlockSize 1.
 		 */
 		if (blkio->Media->BlockSize < 512 ||
+		    blkio->Media->BlockSize > (1 << 15) ||
 		    !powerof2(blkio->Media->BlockSize)) {
 			continue;
 		}
@@ -603,7 +605,8 @@ restart:
 			continue;
 
 		if (DevicePathType(node) == HARDWARE_DEVICE_PATH &&
-		    DevicePathSubType(node) == HW_PCI_DP) {
+		    (DevicePathSubType(node) == HW_PCI_DP ||
+		     DevicePathSubType(node) == HW_VENDOR_DP)) {
 			STAILQ_REMOVE(&pdinfo, hd, pdinfo, pd_link);
 			efipart_hdinfo_add(hd, NULL);
 			goto restart;


More information about the svn-src-all mailing list