On Jul 15, 2021, at 1:06 AM, Winz <wincent6394@hotmail.com> wrote:

Hi everyone,

I noticed that EFIFileLib no longer appear on the latest version of edk2.
Does anyone know why it was removed?

It got removed since it is obsolete. I wrote it a long time ago as part of the Embedded Boot Loader (EBL). The EBL was a proof of concept I wrote in something like 2007 to show an EFI system could have a smaller footprint like uBoot. The EFIFileLib uses the device name (volume name) scheme of the EBL This scheme was unique to the EBL. For example the fs3: volume name in the EFIFileLib is not the same as the volume names in the UEFI Shell. 

The EBL is obsolete and got replaced by the UEFI Shell. I think EFIFileLib ended up getting used in other places so it stayed around longer. 

Supported Device Names:
A0x1234:0x12 - A memory buffer starting at address 0x1234 for 0x12 bytes
l1: - EFI LoadFile device one.
B0: - EFI BlockIo zero.
fs3: - EFI Simple File System device 3
Fv2: - EFI Firmware VOlume device 2
10.0.1.102: - TFTP service IP followed by the file name

Also, what is the designated replacement library?

What problem are you trying to solve? There are UEFI Shell libs for writing UEFI Shell applications, etc. 

Is it okay for me to maintain a local copy and use it?


As long as you understand the caveats with he device (volume) names. 

Feel free to ask questions on the mailing list about how it works: 
https://github.com/tianocore/edk2/blob/UDK2017/EmbeddedPkg/Library/EfiFileLib/EfiFileLib.c

Thanks,

Andrew Fish

Thanks,
W