rtems-examples hello no output devfs

Joel Sherrill joel at rtems.org
Fri Feb 14 15:29:07 UTC 2020


On Fri, Feb 14, 2020 at 9:16 AM Sebastian Huber <
sebastian.huber at embedded-brains.de> wrote:

> On 14/02/2020 15:45, Joel Sherrill wrote:
>
> On Fri, Feb 14, 2020 at 7:08 AM Sebastian Huber <
> sebastian.huber at embedded-brains.de> wrote:
>
>> On 14/02/2020 13:57, Joel Sherrill wrote:
>>
>> > Hi
>> >
>> > I haven't investigated or checked on other bsps but the xilinx qemu
>> > bsp has no output with the hello world in examples. It uses the devfs.
>> > Changing it to the default filesystem results in it working.
>> >
>> > I am suspicious of something with all the termios and new console
>> > changes breaking it.
>> The devfs works only with legacy IO drivers. The Termios drivers depend
>> on IMFS. I would like to remove the devfs in the future. The IMFS is
>> highly configurable, there is no need for an additional in-memory file
>> system.
>>
>
> Do not remove it. Please fix it.
>
> The IMFS should be improved, so that we can remove the devfs. We already
> have a bunch of configuration options to customize it:
>
>
> https://docs.rtems.org/branches/master/c-user/configuring_a_system.html#file-system-configuration-parameters
>

You should look at the requirements for the older ESA RTEMS versions. They
had very specific requirements which ended up with the filesystem code
largerly removed AFAIK.

And you did break existing code in the public repository. If we need more
tests
to ensure it works, then so be it. It is a feature in the current code base
and it
just broke.

Until the IMFS can be proved to be configurable to meet the requirements
that
resulted in the filesystem code being removed/minimized in the old ESA
versions
and other folks who needed the simplest possible infrastructure for devices
so
our normal frameworks would work, it needs to stay and work.

You can have a goal which you may or may nor achieve but you can't leave a
trail of code that is broken just because you don't like it.

>
>
> This filesystem is needed because some applications want no filesystem but
> you require one for device nodes. Even the IMFS is subject to mallocs which
> are undesired in the applications that this was supporting.
>
> 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:
>
>
> https://git.rtems.org/rtems/commit/?id=a9df9169882c564af6714bbf121c278092d3c51c
>
> 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.
>

OK. But that's maybe in the indefinite future and you broke something today.

----joel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20200214/046e0d3c/attachment.html>


More information about the devel mailing list