[RTEMS Project] #3894: Replace the device filesystem with a specialization of the IMFS

2020-03-03 Thread RTEMS trac
#3894: Replace the device filesystem with a specialization of the IMFS
--+-
  Reporter:  Sebastian Huber  |  Owner:  Sebastian Huber
  Type:  enhancement  | Status:  assigned
  Priority:  normal   |  Milestone:  5.1
 Component:  fs   |Version:  5
  Severity:  normal   |   Keywords:
Blocked By:   |   Blocking:
--+-
 New device drivers (e.g. Termios, I2C, SPI, libbsd) use IMFS generic nodes
 to hook into the filesystem. This does not work with the device filesystem
 enabled by the
 {{{
 #define CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM
 }}}
 configuration option. Replace the device filesystem with a specialization
 of the IMFS.

--
Ticket URL: 
RTEMS Project 
RTEMS Project
___
bugs mailing list
bugs@rtems.org
http://lists.rtems.org/mailman/listinfo/bugs

Re: [RTEMS Project] #3894: Replace the device filesystem with a specialization of the IMFS

2020-03-03 Thread RTEMS trac
#3894: Replace the device filesystem with a specialization of the IMFS
-+--
 Reporter:  Sebastian Huber  |   Owner:  Sebastian Huber
 Type:  enhancement  |  Status:  assigned
 Priority:  normal   |   Milestone:  5.1
Component:  fs   | Version:  5
 Severity:  normal   |  Resolution:
 Keywords:   |  Blocked By:
 Blocking:   |
-+--

Comment (by Chris Johns):

 Will the changes include the examples and the `devfs` hello world example?

 How doe the size of this approach compare to the `devfs` approach?

--
Ticket URL: 
RTEMS Project 
RTEMS Project
___
bugs mailing list
bugs@rtems.org
http://lists.rtems.org/mailman/listinfo/bugs

Re: [RTEMS Project] #3894: Replace the device filesystem with a specialization of the IMFS

2020-03-03 Thread RTEMS trac
#3894: Replace the device filesystem with a specialization of the IMFS
-+--
 Reporter:  Sebastian Huber  |   Owner:  Sebastian Huber
 Type:  enhancement  |  Status:  assigned
 Priority:  normal   |   Milestone:  5.1
Component:  fs   | Version:  5
 Severity:  normal   |  Resolution:
 Keywords:   |  Blocked By:
 Blocking:   |
-+--

Comment (by Sebastian Huber):

 Replying to [comment:1 Chris Johns]:
 > Will the changes include the examples and the `devfs` hello world
 example?

 Yes, the aim is to fix this example so that it works with Termios based
 console drivers.

 >
 > How doe the size of this approach compare to the `devfs` approach?

 I don't have numbers yet. I guess it will slightly increase.

 You can further reduce the code size if you disable the support for the
 legacy IO drivers and use the new IMFS_add_node() instead.

 I don't think this matters. 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.

--
Ticket URL: 
RTEMS Project 
RTEMS Project
___
bugs mailing list
bugs@rtems.org
http://lists.rtems.org/mailman/listinfo/bugs

Re: [RTEMS Project] #3894: Replace the device filesystem with a specialization of the IMFS

2020-03-04 Thread RTEMS trac
#3894: Replace the device filesystem with a specialization of the IMFS
-+--
 Reporter:  Sebastian Huber  |   Owner:  Sebastian Huber
 Type:  enhancement  |  Status:  assigned
 Priority:  normal   |   Milestone:  5.1
Component:  fs   | Version:  5
 Severity:  normal   |  Resolution:
 Keywords:   |  Blocked By:
 Blocking:   |
-+--

Comment (by Sebastian Huber ):

 In [changeset:"0b0cd93a40c92018a959219e8a2c42eadeae7a79/rtems"
 0b0cd93/rtems]:
 {{{
 #!CommitTicketReference repository="rtems"
 revision="0b0cd93a40c92018a959219e8a2c42eadeae7a79"
 imfs: Remove IMFS_NODE_FLAG_NAME_ALLOCATED

 Remove IMFS_NODE_FLAG_NAME_ALLOCATED and instead replace the node
 control in rename operations.  This avoids a special case in the general
 node destruction which pulled in free().

 Update #3894.
 }}}

--
Ticket URL: 
RTEMS Project 
RTEMS Project
___
bugs mailing list
bugs@rtems.org
http://lists.rtems.org/mailman/listinfo/bugs

Re: [RTEMS Project] #3894: Replace the device filesystem with a specialization of the IMFS

2020-03-04 Thread RTEMS trac
#3894: Replace the device filesystem with a specialization of the IMFS
-+--
 Reporter:  Sebastian Huber  |   Owner:  Sebastian Huber
 Type:  enhancement  |  Status:  assigned
 Priority:  normal   |   Milestone:  5.1
Component:  fs   | Version:  5
 Severity:  normal   |  Resolution:
 Keywords:   |  Blocked By:
 Blocking:   |
-+--

Comment (by Sebastian Huber ):

 In [changeset:"fa3005f6c1ddb99347acb70cbaecd155ed0356ed/rtems"
 fa3005f/rtems]:
 {{{
 #!CommitTicketReference repository="rtems"
 revision="fa3005f6c1ddb99347acb70cbaecd155ed0356ed"
 console: Use IMFS_add_node() for simple task cons

 Change license to BSD-2-Clause according to file history.

 Update #3053.
 Update #3894.
 }}}

--
Ticket URL: 
RTEMS Project 
RTEMS Project
___
bugs mailing list
bugs@rtems.org
http://lists.rtems.org/mailman/listinfo/bugs

Re: [RTEMS Project] #3894: Replace the device filesystem with a specialization of the IMFS

2020-03-04 Thread RTEMS trac
#3894: Replace the device filesystem with a specialization of the IMFS
-+--
 Reporter:  Sebastian Huber  |   Owner:  Sebastian Huber
 Type:  enhancement  |  Status:  assigned
 Priority:  normal   |   Milestone:  5.1
Component:  fs   | Version:  5
 Severity:  normal   |  Resolution:
 Keywords:   |  Blocked By:
 Blocking:   |
-+--

Comment (by Sebastian Huber ):

 In [changeset:"7e3b5c0ced72ea6ffc79986d26bd9184c61888fa/rtems"
 7e3b5c0/rtems]:
 {{{
 #!CommitTicketReference repository="rtems"
 revision="7e3b5c0ced72ea6ffc79986d26bd9184c61888fa"
 console: Use IMFS_add_node() for simple console

 Change license to BSD-2-Clause according to file history.

 Update #3053.
 Update #3894.
 }}}

--
Ticket URL: 
RTEMS Project 
RTEMS Project
___
bugs mailing list
bugs@rtems.org
http://lists.rtems.org/mailman/listinfo/bugs

Re: [RTEMS Project] #3894: Replace the device filesystem with a specialization of the IMFS

2020-03-04 Thread RTEMS trac
#3894: Replace the device filesystem with a specialization of the IMFS
-+--
 Reporter:  Sebastian Huber  |   Owner:  Sebastian Huber
 Type:  enhancement  |  Status:  assigned
 Priority:  normal   |   Milestone:  5.1
Component:  fs   | Version:  5
 Severity:  normal   |  Resolution:
 Keywords:   |  Blocked By:
 Blocking:   |
-+--

Comment (by Sebastian Huber ):

 In [changeset:"fa44c3903a9da966dae024b7dcd824c8efd5cd34/rtems"
 fa44c39/rtems]:
 {{{
 #!CommitTicketReference repository="rtems"
 revision="fa44c3903a9da966dae024b7dcd824c8efd5cd34"
 imfs: Add IMFS_add_node()

 Update #3894.
 }}}

--
Ticket URL: 
RTEMS Project 
RTEMS Project
___
bugs mailing list
bugs@rtems.org
http://lists.rtems.org/mailman/listinfo/bugs

Re: [RTEMS Project] #3894: Replace the device filesystem with a specialization of the IMFS

2020-03-04 Thread RTEMS trac
#3894: Replace the device filesystem with a specialization of the IMFS
-+--
 Reporter:  Sebastian Huber  |   Owner:  Sebastian Huber
 Type:  enhancement  |  Status:  assigned
 Priority:  normal   |   Milestone:  5.1
Component:  fs   | Version:  5
 Severity:  normal   |  Resolution:
 Keywords:   |  Blocked By:
 Blocking:   |
-+--

Comment (by Sebastian Huber ):

 In [changeset:"13b71f88f414f8d6a45c07916103765130a556ff/rtems"
 13b71f8/rtems]:
 {{{
 #!CommitTicketReference repository="rtems"
 revision="13b71f88f414f8d6a45c07916103765130a556ff"
 imfs: Simplify IMFS_create_node()

 Update #3894.
 }}}

--
Ticket URL: 
RTEMS Project 
RTEMS Project
___
bugs mailing list
bugs@rtems.org
http://lists.rtems.org/mailman/listinfo/bugs

Re: [RTEMS Project] #3894: Replace the device filesystem with a specialization of the IMFS

2020-03-05 Thread RTEMS trac
#3894: Replace the device filesystem with a specialization of the IMFS
-+--
 Reporter:  Sebastian Huber  |   Owner:  Sebastian Huber
 Type:  enhancement  |  Status:  assigned
 Priority:  normal   |   Milestone:  5.1
Component:  fs   | Version:  5
 Severity:  normal   |  Resolution:
 Keywords:   |  Blocked By:
 Blocking:  3898 |
-+--

Comment (by Sebastian Huber):

 Replying to [comment:2 Sebastian Huber]:
 > Replying to [comment:1 Chris Johns]:
 > > How doe the size of this approach compare to the `devfs` approach?
 >
 > I don't have numbers yet. I guess it will slightly increase.

 I checked the code size change of the devfs04 test before and after the
 change to the IMFS specialization:

 size pre/devfs04.exe
textdata bss dec hex filename
   573281152   17312   75792   12810 pre/devfs04.exe

 size post/devfs04.exe
textdata bss dec hex filename
   583841152   16096   75632   12770 post/devfs04.exe

 The code size increases by 1056 bytes on SPARCV8.

 In case the support for legacy IO drivers is disabled via

 {{{
 #define CONFIGURE_IMFS_DISABLE_MKNOD_DEVICE
 #define CONFIGURE_IMFS_DISABLE_MKNOD
 }}}

 the code size drops to:
 size devfs04.exe
textdata bss dec hex filename
   564961152   16096   73744   12010 devfs04.exe

 Using IMFS_add_node() gives you access to all file handlers and removes
 four layers of indirection, e.g.

 read() -> device_read() -> rtems_deviceio_read() -> rtems_io_read() ->
 _IO_Driver_address_table -> device handler

 compared to

 read() -> device handler.

--
Ticket URL: 
RTEMS Project 
RTEMS Project
___
bugs mailing list
bugs@rtems.org
http://lists.rtems.org/mailman/listinfo/bugs

Re: [RTEMS Project] #3894: Replace the device filesystem with a specialization of the IMFS

2020-03-09 Thread RTEMS trac
#3894: Replace the device filesystem with a specialization of the IMFS
-+--
 Reporter:  Sebastian Huber  |   Owner:  Sebastian Huber
 Type:  enhancement  |  Status:  assigned
 Priority:  normal   |   Milestone:  5.1
Component:  fs   | Version:  5
 Severity:  normal   |  Resolution:
 Keywords:   |  Blocked By:
 Blocking:  3898 |
-+--

Comment (by Sebastian Huber ):

 In [changeset:"277b9dd3f7b730e420870206839af6e98c5ce32b/rtems"
 277b9dd/rtems]:
 {{{
 #!CommitTicketReference repository="rtems"
 revision="277b9dd3f7b730e420870206839af6e98c5ce32b"
 imfs: Remove unused handlers

 Update #3894.
 }}}

--
Ticket URL: 
RTEMS Project 
RTEMS Project
___
bugs mailing list
bugs@rtems.org
http://lists.rtems.org/mailman/listinfo/bugs

Re: [RTEMS Project] #3894: Replace the device filesystem with a specialization of the IMFS

2020-03-09 Thread RTEMS trac
#3894: Replace the device filesystem with a specialization of the IMFS
-+--
 Reporter:  Sebastian Huber  |   Owner:  Sebastian Huber
 Type:  enhancement  |  Status:  assigned
 Priority:  normal   |   Milestone:  5.1
Component:  fs   | Version:  5
 Severity:  normal   |  Resolution:
 Keywords:   |  Blocked By:
 Blocking:  3898 |
-+--

Comment (by Sebastian Huber ):

 In [changeset:"85c9145f09c3d221cec13922b5507818654b3c2e/rtems"
 85c9145f/rtems]:
 {{{
 #!CommitTicketReference repository="rtems"
 revision="85c9145f09c3d221cec13922b5507818654b3c2e"
 imfs: Use _IMFS_get_time()

 Update #3894.
 }}}

--
Ticket URL: 
RTEMS Project 
RTEMS Project
___
bugs mailing list
bugs@rtems.org
http://lists.rtems.org/mailman/listinfo/bugs

Re: [RTEMS Project] #3894: Replace the device filesystem with a specialization of the IMFS

2020-03-09 Thread RTEMS trac
#3894: Replace the device filesystem with a specialization of the IMFS
-+--
 Reporter:  Sebastian Huber  |   Owner:  Sebastian Huber
 Type:  enhancement  |  Status:  assigned
 Priority:  normal   |   Milestone:  5.1
Component:  fs   | Version:  5
 Severity:  normal   |  Resolution:
 Keywords:   |  Blocked By:
 Blocking:  3898 |
-+--

Comment (by Sebastian Huber ):

 In [changeset:"103a371faa61eb938bf39bc38e1ac2b30cb18bd3/rtems"
 103a371/rtems]:
 {{{
 #!CommitTicketReference repository="rtems"
 revision="103a371faa61eb938bf39bc38e1ac2b30cb18bd3"
 imfs: Simplify code generation

 Update #3894.
 }}}

--
Ticket URL: 
RTEMS Project 
RTEMS Project
___
bugs mailing list
bugs@rtems.org
http://lists.rtems.org/mailman/listinfo/bugs

Re: [RTEMS Project] #3894: Replace the device filesystem with a specialization of the IMFS

2020-03-09 Thread RTEMS trac
#3894: Replace the device filesystem with a specialization of the IMFS
-+--
 Reporter:  Sebastian Huber  |   Owner:  Sebastian Huber
 Type:  enhancement  |  Status:  assigned
 Priority:  normal   |   Milestone:  5.1
Component:  fs   | Version:  5
 Severity:  normal   |  Resolution:
 Keywords:   |  Blocked By:
 Blocking:  3898 |
-+--

Comment (by Sebastian Huber ):

 In [changeset:"0161b93d50d6915116c4ca9d1cad42ef89a4ad9e/rtems"
 0161b93d/rtems]:
 {{{
 #!CommitTicketReference repository="rtems"
 revision="0161b93d50d6915116c4ca9d1cad42ef89a4ad9e"
 imfs: Replace devfs with an IMFS specialization

 Add a simplified path evaluation function IMFS_eval_path_devfs() for a
 device only IMFS configuration.

 The code size can be further reduced by the application if it disables
 the support for legacy IO drivers via:

   #define CONFIGURE_IMFS_DISABLE_MKNOD
   #define CONFIGURE_IMFS_DISABLE_MKNOD_DEVICE

 Obsolete CONFIGURE_MAXIMUM_DEVICES.  Remove BSP_MAXIMUM_DEVICES.

 Update #3894.
 Update #3898.
 }}}

--
Ticket URL: 
RTEMS Project 
RTEMS Project
___
bugs mailing list
bugs@rtems.org
http://lists.rtems.org/mailman/listinfo/bugs

Re: [RTEMS Project] #3894: Replace the device filesystem with a specialization of the IMFS

2020-03-09 Thread RTEMS trac
#3894: Replace the device filesystem with a specialization of the IMFS
-+--
 Reporter:  Sebastian Huber  |   Owner:  Sebastian Huber
 Type:  enhancement  |  Status:  assigned
 Priority:  normal   |   Milestone:  5.1
Component:  fs   | Version:  5
 Severity:  normal   |  Resolution:
 Keywords:   |  Blocked By:
 Blocking:  3898 |
-+--

Comment (by Sebastian Huber ):

 In [changeset:"83994913b6603c3a0dbb5ece4b3b5b47457ed99e/rtems"
 83994913/rtems]:
 {{{
 #!CommitTicketReference repository="rtems"
 revision="83994913b6603c3a0dbb5ece4b3b5b47457ed99e"
 imfs: Constify imfs_memfile_bytes_per_block

 The CONFIGURE_IMFS_MEMFILE_BYTES_PER_BLOCK value is validated by
 .  Changing this value during runtime could lead
 to memory corruption.

 Update #3894.
 }}}

--
Ticket URL: 
RTEMS Project 
RTEMS Project
___
bugs mailing list
bugs@rtems.org
http://lists.rtems.org/mailman/listinfo/bugs

Re: [RTEMS Project] #3894: Replace the device filesystem with a specialization of the IMFS

2020-04-01 Thread RTEMS trac
#3894: Replace the device filesystem with a specialization of the IMFS
-+--
 Reporter:  Sebastian Huber  |   Owner:  Sebastian Huber
 Type:  enhancement  |  Status:  assigned
 Priority:  normal   |   Milestone:  5.1
Component:  fs   | Version:  5
 Severity:  normal   |  Resolution:
 Keywords:   |  Blocked By:
 Blocking:  3898 |
-+--

Comment (by Sebastian Huber ):

 In [changeset:"7cec2590d2e872b306b7fdbed9b95616cb11ab36/rtems"
 7cec259/rtems]:
 {{{
 #!CommitTicketReference repository="rtems"
 revision="7cec2590d2e872b306b7fdbed9b95616cb11ab36"
 config: Remove CONFIGURE_FILESYSTEM_DEVFS

 This filesystem no longer exists.

 Remove unused RTEMS_FILESYSTEM_TYPE_DEVFS.

 Update #3894.
 }}}

--
Ticket URL: 
RTEMS Project 
RTEMS Project
___
bugs mailing list
bugs@rtems.org
http://lists.rtems.org/mailman/listinfo/bugs

Re: [RTEMS Project] #3894: Replace the device filesystem with a specialization of the IMFS

2020-04-02 Thread RTEMS trac
#3894: Replace the device filesystem with a specialization of the IMFS
-+--
 Reporter:  Sebastian Huber  |   Owner:  Sebastian Huber
 Type:  enhancement  |  Status:  closed
 Priority:  normal   |   Milestone:  5.1
Component:  fs   | Version:  5
 Severity:  normal   |  Resolution:  fixed
 Keywords:   |  Blocked By:
 Blocking:  3898 |
-+--
Changes (by Sebastian Huber):

 * status:  assigned => closed
 * resolution:   => fixed


--
Ticket URL: 
RTEMS Project 
RTEMS Project
___
bugs mailing list
bugs@rtems.org
http://lists.rtems.org/mailman/listinfo/bugs