<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>On 14/02/2020 16:29, Joel Sherrill wrote:<br>
</p>
<blockquote type="cite"
cite="mid:CAF9ehCWx1LpTt2EUX=yptVZW4C37krXWnsRXpy3Dp4TUpvtn+A@mail.gmail.com">
<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"
moz-do-not-send="true">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" moz-do-not-send="true">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" moz-do-not-send="true">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>
</blockquote>
<p>You can get rid of the file system with the
CONFIGURE_APPLICATION_DISABLE_FILESYSTEM configuration option.<br>
</p>
<blockquote type="cite"
cite="mid:CAF9ehCWx1LpTt2EUX=yptVZW4C37krXWnsRXpy3Dp4TUpvtn+A@mail.gmail.com">
<div class="gmail_quote">
<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>
</blockquote>
If you want a minimal setup, then why do you want to use the POSIX
open/read/write API to access devices? The POSIX functions pull in
errno for example which pulls in the re-entrancy support which pulls
in a hell of dependencies. Why do you want to use a console driver
with Termios in a minimal setup?<br>
<blockquote type="cite"
cite="mid:CAF9ehCWx1LpTt2EUX=yptVZW4C37krXWnsRXpy3Dp4TUpvtn+A@mail.gmail.com">
<div class="gmail_quote">
<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>
</div>
</blockquote>
To fix this break, I suggest to map CONFIGURE_FILESYSTEM_DEVFS to a
suitable IMFS configuration similar to
CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM.<br>
</body>
</html>