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;
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to