<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Jul 15, 2021, at 1:06 AM, Winz <<a href="mailto:wincent6394@hotmail.com" class="">wincent6394@hotmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class="">Hi everyone,<br class=""><br class="">I noticed that EFIFileLib no longer appear on the latest version of edk2.<br class="">Does anyone know why it was removed?<br class=""></div></blockquote><div><br class=""></div><div>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. </div><div><br class=""></div><div>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. </div><div><table class="js-file-line-container highlight tab-size" data-tab-size="8" data-paste-markdown-skip="" style="box-sizing: border-box; border-collapse: collapse; border-spacing: 0px; tab-size: 8; caret-color: rgb(36, 41, 46); color: rgb(36, 41, 46); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; font-size: 14px;"><tbody style="box-sizing: border-box;" class=""><tr style="box-sizing: border-box;" class=""></tr><tr style="box-sizing: border-box;" class=""><td id="LC20" class="js-file-line blob-code-inner blob-code" style="box-sizing: border-box; padding: 0px 10px; line-height: 20px; position: relative; vertical-align: top; word-wrap: normal; color: var(--color-text-primary); font-family: ui-monospace, SFMono-Regular, "SF Mono", Consolas, "Liberation Mono", Menlo, monospace; font-size: 12px; overflow: visible; white-space: pre;"></td></tr><tr style="box-sizing: border-box;" class=""><td id="L22" class="blob-num js-line-number" data-line-number="22" style="box-sizing: border-box; padding: 0px 10px; color: var(--color-diff-blob-num-text); cursor: pointer; font-family: ui-monospace, SFMono-Regular, "SF Mono", Consolas, "Liberation Mono", Menlo, monospace; font-size: 12px; line-height: 20px; min-width: 50px; text-align: right; -webkit-user-select: none; vertical-align: top; white-space: nowrap; width: 50px;"></td><br class=""><td id="LC22" class="js-file-line blob-code-inner blob-code" style="box-sizing: border-box; padding: 0px 10px; line-height: 20px; position: relative; vertical-align: top; word-wrap: normal; color: var(--color-text-primary); font-family: ui-monospace, SFMono-Regular, "SF Mono", Consolas, "Liberation Mono", Menlo, monospace; font-size: 12px; overflow: visible; white-space: pre;"></td></tr><tr style="box-sizing: border-box;" class=""><td id="L26" class="blob-num js-line-number" data-line-number="26" style="box-sizing: border-box; padding: 0px 10px; color: var(--color-diff-blob-num-text); cursor: pointer; font-family: ui-monospace, SFMono-Regular, "SF Mono", Consolas, "Liberation Mono", Menlo, monospace; font-size: 12px; line-height: 20px; min-width: 50px; text-align: right; -webkit-user-select: none; vertical-align: top; white-space: nowrap; width: 50px;"></td><td id="LC26" class="js-file-line blob-code-inner blob-code" style="box-sizing: border-box; padding: 0px 10px; line-height: 20px; position: relative; vertical-align: top; word-wrap: normal; color: var(--color-text-primary); font-family: ui-monospace, SFMono-Regular, "SF Mono", Consolas, "Liberation Mono", Menlo, monospace; font-size: 12px; overflow: visible; white-space: pre;"><span class="pl-c" style="box-sizing: border-box; color: var(--color-prettylights-syntax-comment);"></span></td></tr><tr style="box-sizing: border-box;" class=""><td id="L27" class="blob-num js-line-number" data-line-number="27" style="box-sizing: border-box; padding: 0px 10px; color: var(--color-diff-blob-num-text); cursor: pointer; font-family: ui-monospace, SFMono-Regular, "SF Mono", Consolas, "Liberation Mono", Menlo, monospace; font-size: 12px; line-height: 20px; min-width: 50px; text-align: right; -webkit-user-select: none; vertical-align: top; white-space: nowrap; width: 50px;"></td><td id="LC27" class="js-file-line blob-code-inner blob-code" style="box-sizing: border-box; padding: 0px 10px; line-height: 20px; position: relative; vertical-align: top; word-wrap: normal; color: var(--color-text-primary); font-family: ui-monospace, SFMono-Regular, "SF Mono", Consolas, "Liberation Mono", Menlo, monospace; font-size: 12px; overflow: visible; white-space: pre;"><span class="pl-c" style="box-sizing: border-box; color: var(--color-prettylights-syntax-comment);">Supported Device Names:</span></td></tr><tr style="box-sizing: border-box;" class=""><td id="L28" class="blob-num js-line-number" data-line-number="28" style="box-sizing: border-box; padding: 0px 10px; color: var(--color-diff-blob-num-text); cursor: pointer; font-family: ui-monospace, SFMono-Regular, "SF Mono", Consolas, "Liberation Mono", Menlo, monospace; font-size: 12px; line-height: 20px; min-width: 50px; text-align: right; -webkit-user-select: none; vertical-align: top; white-space: nowrap; width: 50px;"></td><td id="LC28" class="js-file-line blob-code-inner blob-code" style="box-sizing: border-box; padding: 0px 10px; line-height: 20px; position: relative; vertical-align: top; word-wrap: normal; color: var(--color-text-primary); font-family: ui-monospace, SFMono-Regular, "SF Mono", Consolas, "Liberation Mono", Menlo, monospace; font-size: 12px; overflow: visible; white-space: pre;"><span class="pl-c" style="box-sizing: border-box; color: var(--color-prettylights-syntax-comment);">A0x1234:0x12 - A memory buffer starting at address 0x1234 for 0x12 bytes</span></td></tr><tr style="box-sizing: border-box;" class=""><td id="L29" class="blob-num js-line-number" data-line-number="29" style="box-sizing: border-box; padding: 0px 10px; color: var(--color-diff-blob-num-text); cursor: pointer; font-family: ui-monospace, SFMono-Regular, "SF Mono", Consolas, "Liberation Mono", Menlo, monospace; font-size: 12px; line-height: 20px; min-width: 50px; text-align: right; -webkit-user-select: none; vertical-align: top; white-space: nowrap; width: 50px;"></td><td id="LC29" class="js-file-line blob-code-inner blob-code" style="box-sizing: border-box; padding: 0px 10px; line-height: 20px; position: relative; vertical-align: top; word-wrap: normal; color: var(--color-text-primary); font-family: ui-monospace, SFMono-Regular, "SF Mono", Consolas, "Liberation Mono", Menlo, monospace; font-size: 12px; overflow: visible; white-space: pre;"><span class="pl-c" style="box-sizing: border-box; color: var(--color-prettylights-syntax-comment);">l1:          - EFI LoadFile device one.</span></td></tr><tr style="box-sizing: border-box;" class=""><td id="L30" class="blob-num js-line-number" data-line-number="30" style="box-sizing: border-box; padding: 0px 10px; color: var(--color-diff-blob-num-text); cursor: pointer; font-family: ui-monospace, SFMono-Regular, "SF Mono", Consolas, "Liberation Mono", Menlo, monospace; font-size: 12px; line-height: 20px; min-width: 50px; text-align: right; -webkit-user-select: none; vertical-align: top; white-space: nowrap; width: 50px;"></td><td id="LC30" class="js-file-line blob-code-inner blob-code" style="box-sizing: border-box; padding: 0px 10px; line-height: 20px; position: relative; vertical-align: top; word-wrap: normal; color: var(--color-text-primary); font-family: ui-monospace, SFMono-Regular, "SF Mono", Consolas, "Liberation Mono", Menlo, monospace; font-size: 12px; overflow: visible; white-space: pre;"><span class="pl-c" style="box-sizing: border-box; color: var(--color-prettylights-syntax-comment);">B0:          - EFI BlockIo zero.</span></td></tr><tr style="box-sizing: border-box;" class=""><td id="L31" class="blob-num js-line-number" data-line-number="31" style="box-sizing: border-box; padding: 0px 10px; color: var(--color-diff-blob-num-text); cursor: pointer; font-family: ui-monospace, SFMono-Regular, "SF Mono", Consolas, "Liberation Mono", Menlo, monospace; font-size: 12px; line-height: 20px; min-width: 50px; text-align: right; -webkit-user-select: none; vertical-align: top; white-space: nowrap; width: 50px;"></td><td id="LC31" class="js-file-line blob-code-inner blob-code" style="box-sizing: border-box; padding: 0px 10px; line-height: 20px; position: relative; vertical-align: top; word-wrap: normal; color: var(--color-text-primary); font-family: ui-monospace, SFMono-Regular, "SF Mono", Consolas, "Liberation Mono", Menlo, monospace; font-size: 12px; overflow: visible; white-space: pre;"><span class="pl-c" style="box-sizing: border-box; color: var(--color-prettylights-syntax-comment);">fs3:         - EFI Simple File System device 3</span></td></tr><tr style="box-sizing: border-box;" class=""><td id="L32" class="blob-num js-line-number" data-line-number="32" style="box-sizing: border-box; padding: 0px 10px; color: var(--color-diff-blob-num-text); cursor: pointer; font-family: ui-monospace, SFMono-Regular, "SF Mono", Consolas, "Liberation Mono", Menlo, monospace; font-size: 12px; line-height: 20px; min-width: 50px; text-align: right; -webkit-user-select: none; vertical-align: top; white-space: nowrap; width: 50px;"></td><td id="LC32" class="js-file-line blob-code-inner blob-code" style="box-sizing: border-box; padding: 0px 10px; line-height: 20px; position: relative; vertical-align: top; word-wrap: normal; color: var(--color-text-primary); font-family: ui-monospace, SFMono-Regular, "SF Mono", Consolas, "Liberation Mono", Menlo, monospace; font-size: 12px; overflow: visible; white-space: pre;"><span class="pl-c" style="box-sizing: border-box; color: var(--color-prettylights-syntax-comment);">Fv2:         - EFI Firmware VOlume device 2</span></td></tr><tr style="box-sizing: border-box;" class=""><td id="L33" class="blob-num js-line-number" data-line-number="33" style="box-sizing: border-box; padding: 0px 10px; color: var(--color-diff-blob-num-text); cursor: pointer; font-family: ui-monospace, SFMono-Regular, "SF Mono", Consolas, "Liberation Mono", Menlo, monospace; font-size: 12px; line-height: 20px; min-width: 50px; text-align: right; -webkit-user-select: none; vertical-align: top; white-space: nowrap; width: 50px;"></td><td id="LC33" class="js-file-line blob-code-inner blob-code" style="box-sizing: border-box; padding: 0px 10px; line-height: 20px; position: relative; vertical-align: top; word-wrap: normal; color: var(--color-text-primary); font-family: ui-monospace, SFMono-Regular, "SF Mono", Consolas, "Liberation Mono", Menlo, monospace; font-size: 12px; overflow: visible; white-space: pre;"><span class="pl-c" style="box-sizing: border-box; color: var(--color-prettylights-syntax-comment);">10.0.1.102:  - TFTP service IP followed by the file name</span></td></tr></tbody></table></div><br class=""><blockquote type="cite" class=""><div class="">Also, what is the designated replacement library?<br class=""></div></blockquote><div><br class=""></div><div>What problem are you trying to solve? There are UEFI Shell libs for writing UEFI Shell applications, etc. </div><br class=""><blockquote type="cite" class=""><div class="">Is it okay for me to maintain a local copy and use it?<br class=""><br class=""></div></blockquote><div><br class=""></div><div>As long as you understand the caveats with he device (volume) names. </div><div><br class=""></div><div>Feel free to ask questions on the mailing list about how it works: </div><div><a href="https://github.com/tianocore/edk2/blob/UDK2017/EmbeddedPkg/Library/EfiFileLib/EfiFileLib.c" class="">https://github.com/tianocore/edk2/blob/UDK2017/EmbeddedPkg/Library/EfiFileLib/EfiFileLib.c</a></div><div><br class=""></div><div>Thanks,</div><div><br class=""></div><div>Andrew Fish</div><br class=""><blockquote type="cite" class=""><div class="">Thanks,<br class="">W




</div></blockquote></div><br class=""></body></html>


 <div width="1" style="color:white;clear:both">_._,_._,_</div> <hr>   Groups.io Links:<p>   You receive all messages sent to this group.    <p> <a target="_blank" href="https://edk2.groups.io/g/devel/message/77814">View/Reply Online (#77814)</a> |    |  <a target="_blank" href="https://groups.io/mt/84226779/1813853">Mute This Topic</a>  | <a href="https://edk2.groups.io/g/devel/post">New Topic</a><br>    <a href="https://edk2.groups.io/g/devel/editsub/1813853">Your Subscription</a> | <a href="mailto:devel+owner@edk2.groups.io">Contact Group Owner</a> |  <a href="https://edk2.groups.io/g/devel/unsub">Unsubscribe</a>  [edk2-devel-archive@redhat.com]<br> <div width="1" style="color:white;clear:both">_._,_._,_</div>