Commit Graph

206 Commits

Author SHA1 Message Date
Sebastian Huber
bcef89f236 Update company name
The embedded brains GmbH & Co. KG is the legal successor of embedded
brains GmbH.
2023-05-20 11:05:26 +02:00
Kinsey Moore
5db68a5859 cpukit/jffs2: Add support for NAND under JFFS2
This adds write buffer and bad block support required for JFFS2
operation on NAND devices. This also adds the minor modifications
necessary for RTEMS support in the Linux header stubs and in wbuf.c.
Memory and NOR backed applications should experience no difference in
operation since they do not expose the callbacks required for write
buffer support.
2023-03-15 13:29:12 -05:00
Sebastian Huber
9bb2f59efe doxygen: Add groups for related test suites 2023-03-14 08:07:25 +01:00
Chris Johns
c36d608079 testsuite: Fix warnings
Updates #4662
2022-08-05 07:54:13 +10:00
Sebastian Huber
085f3637aa TFTPFS: Fix test configuration for FP targets
The test uses snprintf().

Update #4666.
2022-06-21 16:11:37 +02:00
Sebastian Huber
e38d4f79fa TFTPFS: Reduce test configuration
Update #4666.
2022-06-21 16:11:37 +02:00
Frank Kühndel
3e2b4ec857 TFTPFS: Add tests
Update #4666.
2022-06-21 09:32:16 +02:00
Joel Sherrill
e8878d4815 fstests/fsdosfsname01/create_image.sh: Manually change license to BSD-2
Updates #3053.
2022-04-12 13:35:39 -05:00
Joel Sherrill
6d410fe86b testsuites/fstests/*: Change license to BSD-2
Updates #3053.
2022-04-12 13:35:39 -05:00
Joel Sherrill
e2ffe959c5 testsuites/fstests/*: Change license to BSD-2
Updates #3053.
2022-04-07 08:38:56 -05:00
Joel Sherrill
bbe71c611b bsps/testsuites/: Scripted embedded brains header file clean up
Updates #4625.
2022-03-10 08:43:50 +01:00
Joel Sherrill
da7204301a testsuites/fstests/fsdosfsname01/create_files.cs: Convert to UNIX CR/LF.
This file had a mix of both DOS and UNIX CR/LF.

Updates #4625.
2022-03-10 08:43:49 +01:00
Alex White
772ffc0704 testsuites/fstests: Fix uninitialized utimbuf structs
The utimbuf structs in fsimfsconfig01 and fsimfsconfig02 were
being passed to utime uninitialized. This did not cause problems until
utime was changed to use utimensat behind the scenes. Now that
utimensat is called, the values of the utimbuf struct are checked, and
EINVAL is set for invalid values. The utimebuf structs in these tests
could contain invalid values since they are uninitialized.

By zero-initializing the utimbuf structs, we ensure that they pass the
checks in utimensat and that errno is set to the expected ENOTSUP.
2021-10-04 17:18:13 -05:00
Sebastian Huber
db8f598d56 build: Remove old build system
Close #3250.
Close #4081.
2021-09-21 07:39:09 +02:00
Joel Sherrill
dbe355bfe7 fsnofs01/init.c: Check for ENOENT from utime().
The addition of the entire *utime*() family of functions resulted
in this call returning ENOENT not ENXIO. This is better aligned
with the POSIX definition of the methods.
2021-06-08 13:14:53 -05:00
Christian Mauderer
6ae79e6df6 libblock: Add rtems_bdbuf_peek()
Adds a peek function that allows (for example) a file system to suggest
the next blocks that should be used for read ahead. This can increase
the read speed of fragmented files.

Update #3689
2021-03-26 14:25:38 +01:00
Frank Kühndel
0a761a58c9 fsdosfsname01: Fix string truncation warning
This patch fixes a compiler warning:

../../../testsuites/fstests/fsdosfsname01/init.c:430:19: warning:
'%s' directive output may be truncated writing up to 6424 bytes into
a region of size 257 [-Wformat-truncation=]

The buffer 'dirname' is exactly large enough so that no truncation
can ever occur. Using the return value of snprintf() is an official
supported way to suppress the warning.

I considered the comment of Joel Sherrill about not replacing snprintf():
https://lists.rtems.org/pipermail/devel/2020-September/062113.html
2020-10-15 19:12:15 +02:00
Sebastian Huber
80cf60efec Canonicalize config.h include
Use the following variant which was already used by most source files:

  #ifdef HAVE_CONFIG_H
  #include "config.h"
  #endif
2020-04-16 07:30:00 +02:00
Sebastian Huber
c2287ba2cf libio: Robust file descriptor reference counting
There was a race conditon in the reference counting of file descriptors
during a close() operation.  After the call to the close handler, the
rtems_libio_free() function cleared the flags to zero.  However, at this
point in time there may still exist some holders of the file descriptor.
With RTEMS_DEBUG enabled this could lead to failed assertions in
rtems_libio_iop_drop().

Change the code to use only atomic read-modify-write operations on the
rtems_libio_iop::flags.
2020-03-13 09:57:04 +01:00
Sebastian Huber
fa44c3903a imfs: Add IMFS_add_node()
Update #3894.
2020-03-04 09:30:03 +01:00
Sebastian Huber
c4d5a341bd fstests/fsrename: Rename a file twice 2020-03-03 11:35:11 +01:00
Sebastian Huber
ba74ebde74 libio: Add POSIX user environment pointer to TCB
The IO library used a POSIX key to store an optional POSIX user
environment pointer.  This pulled in the POSIX keys support in every
application configuration.  Add a user environment pointer to the thread
control block (TCB) instead.  Applications which do not need the POSIX
user environment will just get an overhead of one pointer per thread.

Close #3882.
2020-02-25 07:18:26 +01:00
Sebastian Huber
1cd283a723 fstests/fsstatvfs: Include missing header file 2020-02-04 06:24:33 +01:00
Sebastian Huber
3cec2dfbc4 config: CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS
Rename CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS into
CONFIGURE_MAXIMUM_FILE_DESCRIPTORS.

Update #3753.
2019-12-19 08:53:03 +01:00
Sebastian Huber
b88c7583b8 fstests: Use tmacros.h instead of pmacros.h
This avoids an extra include path.

Update #3818.
2019-11-12 09:36:21 +01:00
Sebastian Huber
03fcbb15d2 fs: Add struct dirent::d_type support 2019-02-05 10:17:04 +01:00
Sebastian Huber
b015c01443 build: Do not install test programs 2019-01-30 09:46:35 +01:00
Sebastian Huber
9c12bcfdc5 Fix format warnings 2019-01-07 09:49:16 +01:00
Sebastian Huber
06331e4dcb dosfs: Fix device identifier
Update #3358.
2018-11-27 12:46:17 +01:00
Sebastian Huber
47b32a01a4 fsclose01: Fix uninitialized variable warning 2018-10-12 14:45:24 +02:00
Sebastian Huber
477bca2d61 build: Remove local.am 2018-10-10 07:57:47 +02:00
Sebastian Huber
9da5d5fd10 build: Directly reference libraries in tests
Remove use of TMPINSTALL_FILES.
2018-10-10 07:57:42 +02:00
Joel Sherrill
adbd7e747e fsdosfssync01/init.c: Remove unused variable 2018-08-15 09:47:53 -05:00
Sebastian Huber
dd66fda397 tests: Avoid deprecated rtems_disk_io_initialize()
Update #3358.
2018-08-07 07:17:18 +02:00
Sebastian Huber
24b94c4771 ramdisk: Use rtems_blkdev_create()
Update #3358.
2018-08-07 07:17:16 +02:00
Sebastian Huber
ea092ccc79 tools: Remove rtems-bin2c
This tool is now included in the RTEMS tools repository.

Close #3380.
2018-06-14 07:33:46 +02:00
Sebastian Huber
b422aa3f4a tests: Remove configure feature checks
Update #3409.
2018-05-02 07:11:03 +02:00
Joel Sherrill
c77cd426f8 Drop executable permissions on .[ch] files 2018-04-30 17:18:49 -05:00
Chris Johns
aa567bc1cc configure: Add subdir-objects to all automake flags.
This option silences warning with automake-1.16.1 allowing us to
upgrade to that version.

This change has been tested with automake-1.12.6 and automake-1.16.1.
It seems version 1.16.1 configures slower than 1.12.6 for the same
source and BSP. The newer versions is 6 second slower.

Close #3387.
2018-04-11 11:52:29 +10:00
Chris Johns
9e8df1fe2f fstest/fsrfsbitmap01: Update RFS bitmap tests to test fixes.
Add tests to check the patches for this ticket exist and are fixed.

Close #3089
2018-04-11 11:51:57 +10:00
Chris Johns
8967e5fa78 testsuite/fstests: Merged nested Makefile.am files into one Makefile.am
This change is part of the testsuite Makefile.am reorganization.

Update #3382
2018-04-10 08:24:54 +10:00
Sebastian Huber
2d0bc839ed build: Remove EXTRA_DIST
A "make dist" is not supported. So, it makes no sense to have pure "make
dist" related stuff in the Makefile.am.
2018-04-04 10:09:04 +02:00
Sebastian Huber
a3eec5cf35 fsclose01: Fix task mode, use attribute
Update #1971.
2018-02-09 13:17:45 +01:00
Sebastian Huber
48aa4b5d50 fsclose01: Use floating-point task
The tmpfile() uses sprintf().

Update #1971.
2018-02-09 13:14:52 +01:00
Sebastian Huber
4ac5ffbb83 fsclose01: Add tmpfile() test case
Close #1971.
2018-02-05 09:31:32 +01:00
Chris Johns
2afb22b7e1 Remove make preinstall
A speciality of the RTEMS build system was the make preinstall step.  It
copied header files from arbitrary locations into the build tree.  The
header files were included via the -Bsome/build/tree/path GCC command
line option.

This has at least seven problems:

* The make preinstall step itself needs time and disk space.

* Errors in header files show up in the build tree copy.  This makes it
  hard for editors to open the right file to fix the error.

* There is no clear relationship between source and build tree header
  files.  This makes an audit of the build process difficult.

* The visibility of all header files in the build tree makes it
  difficult to enforce API barriers.  For example it is discouraged to
  use BSP-specifics in the cpukit.

* An introduction of a new build system is difficult.

* Include paths specified by the -B option are system headers.  This
  may suppress warnings.

* The parallel build had sporadic failures on some hosts.

This patch removes the make preinstall step.   All installed header
files are moved to dedicated include directories in the source tree.
Let @RTEMS_CPU@ be the target architecture, e.g. arm, powerpc, sparc,
etc.  Let @RTEMS_BSP_FAMILIY@ be a BSP family base directory, e.g.
erc32, imx, qoriq, etc.

The new cpukit include directories are:

* cpukit/include

* cpukit/score/cpu/@RTEMS_CPU@/include

* cpukit/libnetworking

The new BSP include directories are:

* bsps/include

* bsps/@RTEMS_CPU@/include

* bsps/@RTEMS_CPU@/@RTEMS_BSP_FAMILIY@/include

There are build tree include directories for generated files.

The include directory order favours the most general header file, e.g.
it is not possible to override general header files via the include path
order.

The "bootstrap -p" option was removed.  The new "bootstrap -H" option
should be used to regenerate the "headers.am" files.

Update #3254.
2018-01-25 08:45:26 +01:00
Sebastian Huber
5b7f922710 fstests: Use floating-point task
The fstests use snprintf().
2018-01-19 10:49:27 +01:00
Sebastian Huber
9c270ac663 fstests: Use floating-point task
The fstests use snprintf().
2018-01-19 09:47:39 +01:00
Christian Mauderer
2fe368787e dosfs: Allow creating a file with similar name.
If there is already a file with a long file name it isn't possible to
create a second file which has a name that ends on the first files name
(for example ets.beam and sets.beam). This patch fixes that.

Update #3258.
2017-12-07 07:30:16 +01:00
Christian Mauderer
ca835e5683 dosfs: Fix files with same name as volume name.
Take care that a file in the root directory with the same name as the
volume name can be found.

Update #3257.
2017-12-05 08:00:34 +01:00