On 07/05/2021 13:08, Laszlo Ersek wrote:
On 05/07/21 09:13, firstname.lastname@example.org wrote:
I am developing efi application that should work with network.That will only load drivers that are part of the platform firmware. It
I found, that some drivers (including 'Realtek UEFI UNDI Driver') are not loaded, when BIOS option 'Fast boot' is on.
I'v tried to load it using EFI_FIRMWARE_VOLUME2_PROTOCOL, enumerating files of type EFI_FV_FILETYPE_DRIVER and loading them, in such way
will not load drivers from the disk (which could otherwise be loaded via
Driver#### options), or from the ROM BARs of PCI cards. (The PCI bus
driver installs EFI_LOAD_FILE2_PROTOCOL on the handle that carries
EFI_PCI_IO_PROTOCOL too, for exposing the UEFI driver.) See also
... TBH I'm doubtful a UEFI application is supposed to load option ROM
drivers. That's the job of platform BDS. If "fast boot" is selected,
then the system seems to work as intended -- I'm doubtful that running
your application qualifies as "fast boot" either. I'd suggest disabling
fast boot in the first place.
There is also the possibility that the "fast boot" option is implemented by having the Realtek UEFI UNDI Driver itself check for the "fast boot" setting, and refusing to be loaded (i.e. returning an error from the entry point) if fast boot is enabled. I've seen some vendor drivers using that kind of hack.