On 03/11/21 15:48, Xiaohe Yang wrote: > Hello, I am using EDK2 OvmfPkgX64 at commit 37568365, and have a > problem. The following is the detail. > > > The Image disk that I use has EFI system partition, and is configured as > a virtio-blk-pci device. Bootorder file-entry is not added in fw_cfg > device. The log of EDK2 shows that > > (1) VirtioBlkDxe.efi is successfully loaded at DXE stage. > BootScriptExecutorDxe drivers "was discovered but not loaded". > > (2) PCI enumeration has finished at the start of BDS stage, > virtio-blk-pci device is discovered. And one Option Rom's address is 0/0. > > (3) Before entering Shell, log shows "map: No mapping found". > > (4) After entering Shell, I choose “Boot From File”, the virtio-blk-pci > device is not displayed. > > > So I wonder what are the requirements for UEFI to detect the > virtio-blk-pci device as a boot device, except having EFI system partition?
If you have a firmware log with DEBUG_VERBOSE enabled, I could take a look. Assuming you are *not* on QEMU (e.g., you are developing a new virtio-blk device, and running OVMF on your non-QEMU emulator), it could be anything, really. Try to add DEBUG messages to the following drivers / functions: - VirtioPciDeviceDxe - VirtioPciDeviceBindingSupported - VirtioPciDeviceBindingStart - Virtio10Dxe - Virtio10BindingSupported - Virtio10BindingStart - VirtioBlkDxe - VirtioBlkDriverBindingSupported - VirtioBlkDriverBindingStart These drivers all follow the UEFI driver model. So, if you find no mapping for the virtio-blk-pci device in the UEFI shell, then they fail to bind your device implementation for some reason. You mention that there is no "bootorder" fw_cfg file, so PlatformBdsConnectSequence() will see ConnectDevicesFromQemu() fail, and then EfiBootManagerConnectAll() will be called. If the virtio-blk-pci devices are not connected under those circumstances, then they don't do something that the virtio PCI transport drivers (0.9.5 or 1.0) expect, or the virtio-blk device driver expects. There's no silver bullet, you may have to add DEBUGs to various spots in these drivers, to see what fails. Thanks Laszlo -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#72726): https://edk2.groups.io/g/devel/message/72726 Mute This Topic: https://groups.io/mt/81260476/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-