Avoiding (mini) IMFS and libio

Joel Sherrill joel.sherrill at oarcorp.com
Fri Feb 16 14:43:05 UTC 2007


Ingolf Steinbach wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Joel Sherrill wrote:
>   
>> You have hit on one of my pet projects that no one has yet stepped forward
>> to sponsor.  This is a reasonable requirement that some applications need.
>> I would like to see this as a configure time option.
>>     
>
> This is *one* possibility. I'd prefer something like preprocessor
> "#define"s like for instance CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER.
>
> By using the preprocessor macro approach, you'd keep the information
> where it belongs (IMO): It is a property of the *application* whether
> IMFS is *needed* or not. It should not be the decision of the operating
> system whether to *offer* IMFS or not.
>
> I thought the RTEMS approach is to offer everything to the user but
> only pull in (more or less) what is actually needed by the user.
> However, there seem to be some hidden (and probably unnecessary)
> dependencies which force IMFS into every application.
>
>   
I haven't considered finding a technique where the application was able to
switch at application compile or link time.  I am sure you are correct 
about
the hidden (and probably unnecessary) dependencies.  That is the crux of 
the
problem. Finding those and eliminating those.  This is why sometimes on some
BSPs, you find printf linked into the minimal sample test.  Every piece of
code has to be very careful not to spread out like vines and the BSP is 
often
a major source of surprising dependencies.

It would take some analysis to figure out how to switch between the two
file system infrastructure and something much less without it being
a configure time option but I think you are right in that this approach
can work.

It doesn't change the fact that it would take some time to analyze,
implement, test, and document.  That's where sponsoring the
activity is critical.

In case it encourages you to champion sponsoring this effort at
your company, I think I have a starting idea on how to implement
things so you either have the same functionality as before the IMFS
and filesystem infrastructure was added or the current filesystem
infrastructure available.  It would take some more analysis to
know if it fully met the goal but it is a good starting point.

--joel

--joel


> Cheers
>     Ingolf
> - --
>
> Ingolf Steinbach       PGP:0x040DD527       Jena-Optronik GmbH
> ingolf.steinbach at jena-optronik.de            ++49 3641 200-216
> Fingerprint: 33BE B2C6 5F42 5C24 4091 F0AD 3EE8 1082 040D D527
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.6 (MingW32)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
>
> iD8DBQFF1YoWPugQggQN1ScRAp1xAJ4493JcBwlwIgkcYtJurdYdZqZqDACfakjg
> J9GxihikFkTAXyiOgqBQJgY=
> =qU+l
> -----END PGP SIGNATURE-----
> _______________________________________________
> rtems-users mailing list
> rtems-users at rtems.com
> http://rtems.rtems.org/mailman/listinfo/rtems-users
>   




More information about the users mailing list