summaryrefslogtreecommitdiffstats
path: root/cpukit/libblock (unfollow)
Commit message (Collapse)AuthorFilesLines
2018-10-09build: Merge libblock/Makefile.amSebastian Huber1-40/+0
2018-10-02Use rtems_task_exit()Sebastian Huber1-3/+3
Update #3530. Update #3533.
2018-08-07libblock: Add RTEMS_DEPRECATEDSebastian Huber4-4/+15
Close #3358.
2018-08-07libblock: Use rtems_blkdev_create_partition()Sebastian Huber1-14/+2
Update #3358.
2018-08-07flashdisk: Use rtems_blkdev_create()Sebastian Huber1-47/+22
Update #3358.
2018-08-07nvdisk: Use rtems_blkdev_create()Sebastian Huber1-51/+19
Update #3358.
2018-08-07ramdisk: Use rtems_blkdev_create()Sebastian Huber2-34/+7
Update #3358.
2018-05-18libblock: Init deps in rtems_blkdev_create()Sebastian Huber1-4/+10
Update #3358.
2018-02-07libblock: Use self-contained mutex for mediaSebastian Huber1-68/+35
Update #2843.
2018-02-07libblock: Use self-contained mutex for sparse diskSebastian Huber1-28/+4
Update #2843.
2018-02-07libblock: Use self-contained mutex for flashdiskSebastian Huber1-74/+57
Update #2843.
2018-02-07libblock: Use self-contained mutex for nvdiskSebastian Huber1-53/+39
Update #2843.
2018-02-02libblock: Use self-contained mutex and cond varSebastian Huber1-282/+42
Update #2843.
2018-02-02libblock: Use self-contained mutex for disk lockSebastian Huber1-71/+30
Update #2843.
2018-01-25Remove make preinstallChris Johns11-3863/+0
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.
2017-10-05posix: Implement self-contained POSIX mutexSebastian Huber1-2/+4
POSIX mutexes are now available in all configurations and no longer depend on --enable-posix. Update #2514. Update #3112.
2017-07-28Fix IO control request typeSebastian Huber1-1/+1
2017-07-14posix/mmap: Add support for file handler and MAP_ANONKevin Kirspel1-0/+1
Added a mmap file handler to struct _rtems_filesystem_file_handlers_r. Updated each file handler object to support the default mmap handler. Updated mmap() to call the mmap handler for MAP_SHARED. Added a mmap file handler for shm Added support for MAP_ANON in mmap(). Updates #2859
2017-06-08libblock: FreeBSD kernel-space compatibilitySebastian Huber1-1/+1
Update #2833.
2017-01-24Use <sys/endian.h>Sebastian Huber1-13/+5
Update #2803.
2016-12-12libblock: Fix for RTEMS_DEBUGSebastian Huber1-0/+1
2016-11-24libblock: Fix for RTEMS_DEBUGSebastian Huber1-0/+2
2016-06-06libblock: Use proper semaphore attr for mutexSebastian Huber1-2/+1
Close #1452.
2016-05-25cpukit, testsuite: Add rtems_printf and rtems_printer support.Chris Johns3-17/+14
This change adds rtems_printf and related functions and wraps the RTEMS print plugin support into a user API. All references to the plugin are removed and replaced with the rtems_printer interface. Printk and related functions are made to return a valid number of characters formatted and output. The function attribute to check printf functions has been added to rtems_printf and printk. No changes to remove warrnings are part of this patch set. The testsuite has been moved over to the rtems_printer. The testsuite has a mix of rtems_printer access and direct print control via the tmacros.h header file. The support for begink/endk has been removed as it served no purpose and only confused the code base. The testsuite has not been refactored to use rtems_printf. This is future work.
2016-04-07libblock: Drop superfluous <stdlib.h> includeSebastian Huber3-1/+2
Drop superfluous <stdlib.h> include from <rtems/diskdevs.h> since this leads to conflicts with the latest Newlib in case this header file is used in the FreeBSD kernel space, e.g. for USB mass storage support.
2016-01-15libblock: Fix ramdisk::free_at_delete_request initSebastian Huber1-1/+1
Avoid uninitialized ramdisk::free_at_delete_request. The error was visible in sporadic libtests/block01 failures.
2015-11-02libblock: Print block sizes and countSebastian Huber3-0/+22
2015-11-02libblock: Avoid NULL pointer accessSebastian Huber1-1/+3
2015-10-26basdefs.h: Add and use RTEMS_UNUSEDSebastian Huber9-27/+27
2015-10-26basdefs.h: Add and use RTEMS_DEPRECATEDSebastian Huber1-3/+3
2015-03-05libblock: Fix warningSebastian Huber1-2/+1
2015-01-27IMFS: Replace node union with individual structSebastian Huber1-11/+10
This reduces the average node size. Add and use IMFS_GENERIC_INITIALIZER().
2014-11-28bdbuf: Fix race condition with sync active flagSebastian Huber1-5/+11
Bug report by Oleg Kravtsov: In rtems_bdbuf_swapout_processing() function there is the following lines: if (bdbuf_cache.sync_active && !transfered_buffers) { rtems_id sync_requester; rtems_bdbuf_lock_cache (); ... } Here access to bdbuf_cache.sync_active is not protected with anything. Imagine the following test case: 1. Task1 releases buffer(s) with bdbuf_release_modified() calls; 2. After a while swapout task starts and flushes all buffers; 3. In the end of that swapout flush we are before that part of code, and assume there is task switching (just before "if (bdbuf_cache.sync_active && !transfered_buffers)"); 4. Some other task (with higher priority) does bdbuf_release_modified and rtems_bdbuf_syncdev(). This task successfully gets both locks sync and pool (in rtems_bdbuf_syncdev() function), sets sync_active to true and starts waiting for RTEMS_BDBUF_TRANSFER_SYNC event with only sync lock got. 5. Task switching happens again and we are again before "if (bdbuf_cache.sync_active && !transfered_buffers)". As the result we check sync_active and we come inside that "if" statement. 6. The result is that we send RTEMS_BDBUF_TRANSFER_SYNC event! Though ALL modified messages of that task are not flushed yet! close #1485
2014-11-25bdbuf: Use rtems_cache_aligned_malloc()Sebastian Huber1-9/+6
2014-11-20bdbuf: Use rtems_cache_get_data_line_size()Sebastian Huber1-9/+1
2014-08-05Add and use RTEMS_CONTAINER_OF()Sebastian Huber1-2/+2
2014-06-03libblock: Avoid recursive mutexSebastian Huber1-9/+10
2014-06-02libblock: Add RTEMS_BDBUF_USE_PTHREADRalf Kirchner2-62/+190
Use the PTHREAD mutexes and condition variables if available. This helps on SMP configurations to avoid the home grown condition variables via disabled preemption.
2014-06-02libblock: Use pthread_once() for initializationRalf Kirchner1-29/+25
Enabling and disabling preemption as done for single core will not work for SMP. In the bdbuf initialization preemption handling can be avoided in general by using pthread_once().
2014-04-15score: Add and use RTEMS_ZERO_LENGTH_ARRAYSebastian Huber2-2/+2
2014-03-21Change all references of rtems.com to rtems.org.Chris Johns30-30/+30
2014-03-14score: Add SMP lock profiling supportSebastian Huber1-1/+2
2014-03-11score: Add local context to SMP lock APISebastian Huber1-7/+7
Add a local context structure to the SMP lock API for acquire and release pairs. This context can be used to store the ISR level and profiling information. It may be later used to enable more sophisticated lock algorithms, e.g. MCS locks. There is only one lock that cannot be used with a local context. This is the per-CPU lock since here we would have to transfer the local context through a context switch which is very complicated.
2013-12-20Filesystem: Use default kqfilter and poll handlerSebastian Huber1-0/+2
2013-12-20Filesystem: Add readv/writev handlersSebastian Huber1-1/+3
The readv() and writev() support was implemented in terms of multiple calls to the read and write handlers. This imposes a problem on device files which use an IO vector as single request entity. For example a low-level network device (e.g. BPF(4)) may use an IO vector to create one frame from multiple protocol layers each with its own IO vector entry.
2013-12-04libblock: Use LAST for the last partition blockSebastian Huber1-1/+1
2013-12-03PR2157: fdisk partition table dump improvementWendell P Silva1-1/+1
Show the correct index of partition's last block (partition end). The documentation of struct rtems_bdpart_partition (P) says that the member 'end' is the "Block index for partition end (this block is not a part of the partition)". Then, the fdisk's partition table dump should print ((P)->end - 1). Currently, one can think that the last block of a partition P is superposing the beginning of the partition (P + 1). Example: ---------------------------------------- PARTITION TABLE ------------+------------+-------------- BEGIN | END | TYPE ------------+------------+-------------- 2048 | 133120 | FAT 32 133120 | 15628032 | FAT 32 ------------+------------+-------------- With be proposed patch, it would be: ---------------------------------------- PARTITION TABLE ------------+------------+-------------- BEGIN | END | TYPE ------------+------------+-------------- 2048 | 133119 | FAT 32 133120 | 15628031 | FAT 32 ------------+------------+--------------
2013-10-17Remove double count of start offsetRic Claus1-5/+5
2013-09-16libblock: PR2145: Limit maximum read-ahead blocksSebastian Huber2-3/+14
This helps to prevent stack overflows due to configuration errors.
2013-09-05flashdisk: swap arguments to checksum helperGedare Bloom1-1/+1
The arguments to rtems_fdisk_calc_crc16() are reversed when called from rtems_fdisk_page_checksum(). 26052 Operands don't affect result