<div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Apr 14, 2023, 3:00 PM Gedare Bloom <<a href="mailto:gedare@rtems.org">gedare@rtems.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Tue, Mar 28, 2023 at 4:27 AM Karel Gardas <karel@functional.vision> wrote:<br>
><br>
><br>
>    Folks,<br>
><br>
> I'm using FreeBSD's libefi on my hacked multiboot2 based amd64 BSP which<br>
> I'd like to push for review (at least).<br>
><br>
> Now, I'd like to prepare libefi for import but I'm still in doubts if to<br>
> do that in:<br>
><br>
> - as intact form as possible, import even files which will not be used<br>
> in foreseeable future or even ever<br>
><br>
It looks like a lot to import wholesale. usually within RTEMS itself<br>
we have been selective and prefer to avoid bringing in dead<br>
code/files.<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">I think this is a pretty solid guide to follow. Unless you find yourself importing all but a handful anyway. Or there is a clear near term path to needing it.</div><div dir="auto"><br></div><div dir="auto">Avoid dead code but don't make it harder to maintain in the future. </div><div dir="auto"><br></div><div dir="auto">I like a file named ORIGIN which identifies the source info/hash.</div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
> - as minimalistic as possible. Include only files really needed by<br>
> RTEMS. Where making compilation issues #ifdef __rtems__ as usual.<br>
><br>
This would be preferred I think, in rtems.git at least.<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">Hopefully you can just follow the rules that we use for libbsd.</div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
> What exactly I need to import is:<br>
><br>
> <a href="https://github.com/freebsd/freebsd-src/tree/main/stand/efi/include" rel="noreferrer noreferrer" target="_blank">https://github.com/freebsd/freebsd-src/tree/main/stand/efi/include</a><br>
> <a href="https://github.com/freebsd/freebsd-src/tree/main/stand/efi/libefi" rel="noreferrer noreferrer" target="_blank">https://github.com/freebsd/freebsd-src/tree/main/stand/efi/libefi</a><br>
><br>
> In 'include' I'd like to omit risc/arm/arm64 platform specific<br>
> subdirectories for now.<br>
><br>
> Anyway, plan is to put both those directories into<br>
> bsps/shared/freebsd/stand/efi to mimic perfectly location in FBSD tree<br>
> and to have them ready to be reusable later for arm64 and risc-v BSPs<br>
> consumption.<br>
><br>
I think it makes sense. The only issue to me is that usually the<br>
bootloader stuff is in start/ directory. You might put any<br>
rtems-flavored interfaces to use the efi services into shared/start<br>
perhaps.<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">Agreed on location. Keeping the FreeBSD source as intact as possible even if it's a subset is critical. Leave architecture specific code under the top shared/.../efi since that's what they did. Maintain source transparency back to the original code.</div><div dir="auto"><br></div><div dir="auto">When in doubt, ask yourself: when I revisit this in 5 years to try to update it, will I know what happened? And answer that question with whatever makes life easier for future Karel. :)</div><div dir="auto"><br></div><div dir="auto">--joel</div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
><br>
> Thanks!<br>
> Karel<br>
> _______________________________________________<br>
> devel mailing list<br>
> <a href="mailto:devel@rtems.org" target="_blank" rel="noreferrer">devel@rtems.org</a><br>
> <a href="http://lists.rtems.org/mailman/listinfo/devel" rel="noreferrer noreferrer" target="_blank">http://lists.rtems.org/mailman/listinfo/devel</a><br>
_______________________________________________<br>
devel mailing list<br>
<a href="mailto:devel@rtems.org" target="_blank" rel="noreferrer">devel@rtems.org</a><br>
<a href="http://lists.rtems.org/mailman/listinfo/devel" rel="noreferrer noreferrer" target="_blank">http://lists.rtems.org/mailman/listinfo/devel</a></blockquote></div></div></div>