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

Reply via email to