On 02/06/19 18:44, Rebecca Cran wrote: > On Wednesday, 6 February 2019 09:36:43 MST Laszlo Ersek wrote: > >> please refer to the HTTP_BOOT_ENABLE define in the OVMF DSC files; the >> default value is FALSE. >> >> If you'd like HTTP over IPv6, then please pass -D NETWORK_IP6_ENABLE on >> the "build" cmdline as well. > > Thanks. I'm already building with HTTP_BOOT_ENABLE though, and successfully > fetching loader.efi from the web server. However once loader.efi runs, my > code > can't find the HTTP or TCPv4 protocols. > >>> Start HTTP Boot over IPv4..... > Station IP address is 192.168.0.119 > > URI: http://192.168.0.1/boot/loader.efi > File Size: 480256 Bytes > Downloading...100% >
Is "loader.efi" opaque, or do we know what it does? For example, if it opens SNP with BY_DRIVER|EXCLUSIVE attributes, then everything on top will be disconnected. (I don't understand clearly if "loader.efi" is your own code in fact.) Here's an idea: (1) Build "loader.efi" and code "around" it with OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf as the DebugLib instance. Then debug messages from the application and the platform firmware will be nicely intermixed on the QEMU debug port. (2) Add a DEBUG_INFO message to CoreUninstallProtocolInterface() [MdeModulePkg/Core/Dxe/Hand/Handle.c], logging the fact and the protocol GUID. (3) Search the log for installation & uninstallation of the GUID BDC8E6AF-D9BC-4379-A72A-E0C4E75DAE1C (EFI_HTTP_SERVICE_BINDING_PROTOCOL). Perhaps you can correlate those log entries with other events. Thanks Laszlo _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel