<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Feb 14, 2020 at 9:16 AM Sebastian Huber <<a href="mailto:sebastian.huber@embedded-brains.de">sebastian.huber@embedded-brains.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
<p>On 14/02/2020 15:45, Joel Sherrill wrote:<br>
</p>
<blockquote type="cite">
<div dir="ltr" class="gmail_attr">On Fri, Feb 14, 2020 at 7:08 AM
Sebastian Huber <<a href="mailto:sebastian.huber@embedded-brains.de" target="_blank">sebastian.huber@embedded-brains.de</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On
14/02/2020 13:57, Joel Sherrill wrote:<br>
<br>
> Hi<br>
><br>
> I haven't investigated or checked on other bsps but the
xilinx qemu <br>
> bsp has no output with the hello world in examples. It uses
the devfs. <br>
> Changing it to the default filesystem results in it
working.<br>
><br>
> I am suspicious of something with all the termios and new
console <br>
> changes breaking it.<br>
The devfs works only with legacy IO drivers. The Termios drivers
depend <br>
on IMFS. I would like to remove the devfs in the future. The
IMFS is <br>
highly configurable, there is no need for an additional
in-memory file <br>
system.<br>
</blockquote>
<div><br>
</div>
<div>Do not remove it. Please fix it.</div>
</blockquote>
<p>The IMFS should be improved, so that we can remove the devfs. We
already have a bunch of configuration options to customize it:</p>
<p><a href="https://docs.rtems.org/branches/master/c-user/configuring_a_system.html#file-system-configuration-parameters" target="_blank">https://docs.rtems.org/branches/master/c-user/configuring_a_system.html#file-system-configuration-parameters</a></p></div></blockquote><div><br></div><div>You should look at the requirements for the older ESA RTEMS versions. They </div><div>had very specific requirements which ended up with the filesystem code </div><div>largerly removed AFAIK.</div><div><br></div><div>And you did break existing code in the public repository. If we need more tests </div><div>to ensure it works, then so be it. It is a feature in the current code base and it </div><div>just broke.</div><div><br></div><div>Until the IMFS can be proved to be configurable to meet the requirements that </div><div>resulted in the filesystem code being removed/minimized in the old ESA versions<br></div><div>and other folks who needed the simplest possible infrastructure for devices so</div><div>our normal frameworks would work, it needs to stay and work.</div><div><br></div><div>You can have a goal which you may or may nor achieve but you can't leave a </div><div>trail of code that is broken just because you don't like it.</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><p><br>
</p>
<blockquote type="cite">
<div><br>
</div>
<div>This filesystem is needed because some applications want no
filesystem but</div>
<div>you require one for device nodes. Even the IMFS is subject to
mallocs which</div>
<div>are undesired in the applications that this was supporting.</div>
</blockquote>
<p>Termios uses malloc(), so I don't think this filesystem makes
sense for console drivers. I changed the clock driver to use a
simple system initialization handler. Some time ago I refactored
the IMFS mount operation to use statically allocated data:</p>
<p><a href="https://git.rtems.org/rtems/commit/?id=a9df9169882c564af6714bbf121c278092d3c51c" target="_blank">https://git.rtems.org/rtems/commit/?id=a9df9169882c564af6714bbf121c278092d3c51c</a></p>
<p>With a bit of work the IMFS_make_generic_node() can be changed to
not allocate memory and instead use memory provided by the caller.
I spend a considerable amount of time to make it possible that
some time in the future we can have applications with purely
statically allocated resources.<br></p></div></blockquote><div><br></div><div>OK. But that's maybe in the indefinite future and you broke something today.</div><div><br></div><div>----joel</div><div> </div></div></div>