<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-size:small">On Fri, May 29, 2020 at 6:49 PM Sebastian Huber <<a href="mailto:sebastian.huber@embedded-brains.de">sebastian.huber@embedded-brains.de</a>> wrote:<br></div></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 29/05/2020 12:41, Niteesh G. S. wrote:<br></blockquote><div><span class="gmail_default" style="font-size:small">Hello Sebastian,</span><span class="gmail_default"></span> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
> Hello,<br>
><br>
> On Fri, May 29, 2020 at 12:52 PM Sebastian Huber <br>
> <<a href="mailto:sebastian.huber@embedded-brains.de" target="_blank">sebastian.huber@embedded-brains.de</a> <br>
> <mailto:<a href="mailto:sebastian.huber@embedded-brains.de" target="_blank">sebastian.huber@embedded-brains.de</a>>> wrote:<br>
><br>
>     Hello,<br>
><br>
>     since this code is not BSP-specific it should be located in<br>
>     cpukit. How<br>
>     many FreeBSD source files do you intend to import within this project?<br>
><br>
><br>
> This code depends on a bsp that has FDT support. We first imported it to<br>
> cpukit but then decided to move it to bsps/shared since we weren't able to<br>
> import BSP related files (bsp/fdt.h in this case) from cpukit.<br>
<br>
Please think about how BSP dependencies can be avoided since this will <br>
also allow us to write unit tests for this infrastructure. One option is <br>
to add an API to register the device tree. BSPs which have a device tree <br>
do this before the API is used. Unit tests override the device tree to <br>
run the test cases.</blockquote><div> </div><div class="gmail_default" style="font-size:small"> From what I understood, the API will have the responsibility to provide all objects</div><div class="gmail_default" style="font-size:small">which will be used by the FreeBSD source. In the current case, it is the DTB.</div><div class="gmail_default" style="font-size:small">During testing, we override the DTB that will be supplied by the BSP with a custom</div><div class="gmail_default" style="font-size:small">one like the one in libfdt test. Please correct if I misunderstood it.</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">Can you please provide some pointers on how to implement one? Or please point</div><div class="gmail_default" style="font-size:small">to sources of something similar if available.</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">I can think of a really simple design where the API holds a reference to the FDT blob</div><div class="gmail_default" style="font-size:small">which it gets through the register function. Under normal operation, the BSP will register</div><div class="gmail_default" style="font-size:small">the FDT during start up. And while testing just the before running the test we can override</div><div class="gmail_default" style="font-size:small">the FDT reference by again registering with a custom FDT blob. But I don't think this</div><div class="gmail_default" style="font-size:small">would scale well in the future. So, please mention about the design and implementation</div><div class="gmail_default" style="font-size:small">of the API.</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">Thanks,</div><div class="gmail_default" style="font-size:small">Niteesh.</div><div><br></div></div></div>