Hi Siva,
“The EFI_LOAD_FILE2_PROTOCOL is a simple protocol used to obtain files from arbitrary devices that are not boot
options”
“The EFI_LOAD_FILE_PROTOCOL is used for devices that do not directly support file systems. Network devices
commonly boot in this model where the image is materialized without the need of a file system.”
Based on the above statements, I believe the Network stack is fine using the current EFI_LOAD_FILE_PROTOCOL and not the EFI_LOAD_FILE2_PROTOCOL as they are currently
loaded as boot options. We currently do install the EFI_LOAD_FILE_PROTOCOL within the Network stack. Eg –
//
// Create a child handle for the HTTP boot and install DevPath and Load file protocol on it.
//
CopyMem (&Private->Ip6Nic->LoadFile, &gHttpBootDxeLoadFile, sizeof (Private->LoadFile));
Status = gBS->InstallMultipleProtocolInterfaces (
&Private->Ip6Nic->Controller,
&gEfiLoadFileProtocolGuid,
&Private->Ip6Nic->LoadFile,
&gEfiDevicePathProtocolGuid,
Private->Ip6Nic->DevicePath,
NULL
);
Maybe we need to update #18 to include Network devices?
Thanks,
Saloni
From: devel@edk2.groups.io <devel@edk2.groups.io>
On Behalf Of Sivaraman Nainar via groups.io
Sent: Friday, December 15, 2023 3:29 AM
To: devel@edk2.groups.io; Clark-williams, Zachary <zachary.clark-williams@intel.com>; Kasbekar, Saloni <saloni.kasbekar@intel.com>
Cc: Natalya Kalistratova <NatalyaK@ami.com>; Dhanaraj V <vdhanaraj@ami.com>; Santhosh Kumar V <santhoshkumarv@ami.com>; GengYou Zhou (周庚佑)
<GengYouZhou@ami.com>
Subject: [edk2-devel] reg: Clarification on LoadFile2 Protocol Installation for Network Boot Devices
Hello ZClarkWilliams:
Could you please help to clarify if NetworkStack MUST install the LoadFile2 Protocol or not. With reference to the below spec item, the LoadFile2 protocol must be implemented.
In one of the BIOS environment, the Setup Browser Locates the LoadFile2 instance of Network Boot Device and it not found as it not installed by the current NetworkPkg.
Can you please comment if there is any reason behind not installing during the HTTP Boot.
“UEFI SPEC
2.6.3 Driver-Specific Elements There are a number of UEFI elements that can be added or removed depending on the features that
a specific driver requires. Drivers can be implemented by platform firmware developers to support buses and devices in a specific platform. Drivers can also be implemented by add-in card vendors for devices that might be integrated into the platform hardware
or added to a platform through an expansion slot. The following list includes possible driver features, and the UEFI elements that are required for each feature type:
“
Thanks
Siva
-The information contained in this message may be confidential and proprietary to American Megatrends (AMI). This communication is intended to be read
only by the individual or entity to whom it is addressed or by their designee. If the reader of this message is not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly prohibited. Please promptly notify
the sender by reply e-mail or by telephone at 770-246-8600, and then delete or destroy all copies of the transmission.