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.
This commit is contained in:
Toomas Soome 2019-08-30 20:54:30 +00:00
parent 16cf6bdbb6
commit 9f7b00f230

View File

@ -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 @@ efipart_updatehd(void)
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;