summaryrefslogtreecommitdiffstats
path: root/cpukit/include (unfollow)
Commit message (Collapse)AuthorFilesLines
2012-03-13Filesystem: Reference counting for locationsSebastian Huber2-35/+119
o A new data structure rtems_filesystem_global_location_t was introduced to be used for o the mount point location in the mount table entry, o the file system root location in the mount table entry, o the root directory location in the user environment, and o the current directory location in the user environment. During the path evaluation global start locations are obtained to ensure that the current file system instance will be not unmounted in the meantime. o The user environment uses now reference counting and is protected from concurrent access. o The path evaluation process was completely rewritten and simplified. The IMFS, RFS, NFS, and DOSFS use now a generic path evaluation method. Recursive calls in the path evaluation have been replaced with iteration to avoid stack overflows. Only the evaluation of symbolic links is recursive. No dynamic memory allocations and intermediate buffers are used in the high level path evaluation. No global locks are held during the file system instance specific path evaluation process. o Recursive symbolic link evaluation is now limited by RTEMS_FILESYSTEM_SYMLOOP_MAX. Applications can retrieve this value via sysconf(). o The device file system (devFS) uses now no global variables and allocation from the workspace. Node names are allocated from the heap. o The upper layer lseek() performs now some parameter checks. o The upper layer ftruncate() performs now some parameter checks. o unmask() is now restricted to the RWX flags and protected from concurrent access. o The fchmod_h and rmnod_h file system node handlers are now a file system operation. o The unlink_h operation has been removed. All nodes are now destroyed with the rmnod_h operation. o New lock_h, unlock_h, clonenod_h, and are_nodes_equal_h file system operations. o The path evaluation and file system operations are now protected by per file system instance lock and unlock operations. o Fix and test file descriptor duplicate in fcntl(). o New test fstests/fsnofs01.
2011-10-192011-10-19 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius1-1/+3
* include/rtems/btimer.h: Introduce benchmark_timer_t. Let benchmark_timer_read return benchmark_timer_t.
2011-08-292011-08-29 Joel Sherrill <joel.sherrilL@OARcorp.com>Joel Sherrill1-14/+13
* include/rtems/userenv.h, score/src/threadhandler.c: Formatting. * sapi/src/exshutdown.c: Add comments.
2011-06-242011-06-24 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill7-16/+46
* include/rtems/bspIo.h, include/rtems/concat.h, include/rtems/endian.h, include/rtems/fs.h, include/rtems/irq.h, include/rtems/pci.h, include/rtems/userenv.h, libblock/include/rtems/flashdisk.h, libblock/include/rtems/nvdisk-sram.h, libblock/include/rtems/nvdisk.h, libcsupport/include/clockdrv.h, libcsupport/include/console.h, libcsupport/include/iosupp.h, libcsupport/include/spurious.h, libcsupport/include/motorola/mc68230.h, libcsupport/include/rtems/assoc.h, libcsupport/include/rtems/error.h, libcsupport/include/rtems/framebuffer.h, libcsupport/include/rtems/gxx_wrappers.h, libcsupport/include/rtems/libcsupport.h, libcsupport/include/rtems/libio_.h, libcsupport/include/rtems/malloc.h, libcsupport/include/rtems/termiostypes.h, libcsupport/include/sys/statvfs.h, libcsupport/include/sys/termios.h, libcsupport/include/sys/utsname.h, libcsupport/include/zilog/z8036.h, libcsupport/include/zilog/z8530.h, libcsupport/include/zilog/z8536.h, libfs/src/imfs/imfs.h, libfs/src/pipe/pipe.h, libmisc/capture/capture-cli.h, libmisc/capture/capture.h, libmisc/cpuuse/cpuuse.h, libmisc/devnull/devnull.h, libmisc/devnull/devzero.h, libmisc/dumpbuf/dumpbuf.h, libmisc/fb/fb.h, libmisc/fb/mw_uid.h, libmisc/mouse/mouse_parser.h, libmisc/shell/shellconfig.h, libmisc/stringto/stringto.h, libmisc/untar/untar.h, libnetworking/memory.h, posix/include/aio.h, posix/include/mqueue.h, posix/include/semaphore.h, posix/include/rtems/posix/aio_misc.h, posix/include/rtems/posix/barrier.h, posix/include/rtems/posix/cond.h, posix/include/rtems/posix/config.h, posix/include/rtems/posix/key.h, posix/include/rtems/posix/mqueue.h, posix/include/rtems/posix/mutex.h, posix/include/rtems/posix/posixapi.h, posix/include/rtems/posix/priority.h, posix/include/rtems/posix/psignal.h, posix/include/rtems/posix/pthread.h, posix/include/rtems/posix/ptimer.h, posix/include/rtems/posix/rwlock.h, posix/include/rtems/posix/semaphore.h, posix/include/rtems/posix/sigset.h, posix/include/rtems/posix/spinlock.h, posix/include/rtems/posix/threadsup.h, posix/include/rtems/posix/time.h, posix/include/rtems/posix/timer.h, posix/inline/rtems/posix/barrier.inl, posix/inline/rtems/posix/cond.inl, posix/inline/rtems/posix/mqueue.inl, posix/inline/rtems/posix/mutex.inl, posix/inline/rtems/posix/priority.inl, posix/inline/rtems/posix/pthread.inl, posix/inline/rtems/posix/rwlock.inl, posix/inline/rtems/posix/semaphore.inl, posix/inline/rtems/posix/spinlock.inl, posix/inline/rtems/posix/timer.inl, rtems/mainpage.h, rtems/include/rtems/rtems/barrier.h, rtems/include/rtems/rtems/object.h, rtems/include/rtems/rtems/timer.h, rtems/inline/rtems/rtems/barrier.inl, rtems/inline/rtems/rtems/timer.inl, rtems/src/semtranslatereturncode.c, sapi/include/rtems/config.h, sapi/include/rtems/fatal.h, sapi/include/rtems/mptables.h, score/include/rtems/score/object.h, score/include/rtems/score/priority.h, score/inline/rtems/score/object.inl, score/inline/rtems/score/priority.inl: Add @file Doxygen directives and descriptions to files which originated with RTEMS. This improves the file list page generated by Doxygen.
2011-03-242011-03-24 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2-782/+0
* include/rtems/bsd/sys/queue.h, include/rtems/bsd/sys/cdefs.h: Remove. * Makefile.am: Reflect changes above.
2011-03-072011-03-07 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber1-4/+8
* include/rtems/irq-extension.h: Documentation. * libmisc/monitor/mon-prmisc.c: Fix for multiprocessing configuration.
2011-02-092011-02-09 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius1-0/+54
* include/rtems/btimer.h: New. * Makefile.am: Add rtems/btimer.h * libcsupport/include/timerdrv.h: Reflect having split out functions to rtems/btimer.h.
2011-01-282011-01-28 Joel Sherrill <joel.sherrilL@OARcorp.com>Joel Sherrill3-3/+3
* include/rtems/bspIo.h, include/rtems/concat.h, include/rtems/irq.h, score/cpu/i386/rtems/score/idtr.h, score/cpu/powerpc/rtems/powerpc/registers.h, score/src/objectidtoname.c, score/src/schedulerpriorityblock.c, score/src/schedulerpriorityschedule.c, score/src/schedulerpriorityunblock.c, score/src/schedulerpriorityyield.c, score/src/thread.c, score/src/threadchangepriority.c, score/src/threadclearstate.c, score/src/threadclose.c, score/src/threadcreateidle.c, score/src/threaddelayended.c, score/src/threaddispatch.c, score/src/threadget.c, score/src/threadhandler.c, score/src/threadinitialize.c, score/src/threadloadenv.c, score/src/threadready.c, score/src/threadreset.c, score/src/threadrestart.c, score/src/threadresume.c, score/src/threadsetpriority.c, score/src/threadsetstate.c, score/src/threadsettransient.c, score/src/threadstackallocate.c, score/src/threadstackfree.c, score/src/threadstart.c, score/src/threadstartmultitasking.c, score/src/threadsuspend.c, score/src/threadtickletimeslice.c, score/src/threadyieldprocessor.c: Fix typo where license said found in found in.
2010-06-132010-06-13 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius1-53/+0
* include/rtems/tar.h, libcsupport/include/tar.h: Remove. * configure.ac: Require toolchain to provide tar.h. * libfs/src/imfs/imfs_load_tar.c, libmisc/untar/untar.h: Use <tar.h> instead of <rtems/tar.h>.
2010-05-312010-05-31 Chris Johns <chrisj@rtems.org>Chris Johns1-0/+5
* libcsupport/Makefile.am: Add mount-mgr.c. * libcsupport/src/mount-mgr.c: New. * include/rtems/fs.h: Added rtems_filesystem_location_mount. * libcsupport/include/rtems/libio.h, libcsupport/src/mount.c: New mount interface. It is similar to Linux. * libcsupport/include/rtems/libio_.h: Remove the init_fs_mount_table call. * libcsupport/src/base_fs.c: Remove init_fs_mount_table_call. Use the new mount call. Remove setting the root node in the global pathloc. Mount does this now. * libcsupport/src/privateenv.c: Remove the hack to set the root mount table entry in the environment. * libcsupport/src/unmount.cL Free the target string. * libblock/src/bdpart-mount.c: New mount API. * libfs/src/devfs/devfs.h, libfs/src/devfs/devfs_init.c, libfs/src/dosfs/dosfs.h, libfs/src/dosfs/msdos.h, libfs/src/dosfs/msdos_init.c, libfs/src/imfs/imfs.h, libfs/src/imfs/imfs_eval.c, libfs/src/imfs/imfs_init.c, libfs/src/imfs/miniimfs_init.c, libfs/src/nfsclient/src/librtemsNfs.h, libfs/src/rfs/rtems-rfs-rtems.c, libfs/src/rfs/rtems-rfs.h, libnetworking/lib/ftpfs.c, libnetworking/rtems/ftpfs.h, libnetworking/rtems/tftp.h: New mount_h API. * libfs/src/devfs/devfs_eval.c: Local include of extern ops. * libfs/src/nfsclient/src/nfs.c: New mount API. Removed the mount me call and fixed the initialisation to happen when mounting. * libmisc/Makefile.am, libmisc/shell/shellconfig.h: Remove mount filesystem files. * libmisc/fsmount/fsmount.c, libmisc/fsmount/fsmount.h: Updated to the new mount table values. * libmisc/shell/main_mount_ftp.c, libmisc/shell/main_mount_msdos.c, libmisc/shell/main_mount_rfs.c, libmisc/shell/main_mount_tftp.c: Removed. * libmisc/shell/main_mount.c: Use the new mount API. Also access the file system table for the file system types. * libnetworking/lib/tftpDriver.c: Updated to the new mount API. Fixed to allow mounting from any mount point. Also can now have more than file system mounted. * sapi/include/confdefs.h: Add file system configuration support.
2009-12-112009-12-11 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius1-2/+2
PR 1483/cpukit * include/rtems/pci.h: Rename pci_config into rtems_pci_config_t.
2009-11-29Whitespace removal.Ralf Corsepius6-16/+16
2009-10-21interrupt handler type changeThomas Doerfler1-1/+1
2009-10-082009-10-08 Chris Johns <chrisj@rtems.org>Chris Johns1-0/+1
* Makefile.am, preinstall.am: Added statvfs.h. * libcsupport/Makefile.am: Add statvfs.c. * libcsupport/include/sys/statvfs.h, libcsupport/src/statvfs.c: New. * libcsupport/include/rtems/libio.h: Add a file system handler for the statvfs call. * libfs/src/devfs/devfs_init.c, libfs/src/dosfs/msdos_init.c, libfs/src/imfs/imfs_init.c, libfs/src/nfsclient/src/nfs.c: Set the statvfs handler to NULL. * include/rtems/fs.h: Add a second node access field for the RFS file system to hold a directory offset while the existing field holds the inode number. This save a rescan of the directory when working with directories. * libblock/include/rtems/bdbuf.h: Added references and user fields to the buffer descriptor. * libblock/src/bdbuf.c: Added dynamic buffer support for different block sizes. Fixed a number of bugs. * libblock/src/blkdev.c: Release the disk device on an error. * libblock/src/diskdevs.c: Set the block size to the media block size during initialisation of the disk device. * libblock/src/flashdisk.c, libblock/src/nvdisk.c, libblock/src/ramdisk.c: Updated the drivers to handle variable block sizes. * libfs/src/dosfs/fat.c, libfs/src/dosfs/fat.h: Release any buffers when an error occurs. The FAT buffer layer hangs onto a single buffer while mounted. This should be fixed. * sapi/inline/rtems/chain.inl: Added rtems_chain_set_off_chain, rtems_chain_is_node_off_chain, and rtems_chain_previous. * score/inline/rtems/score/chain.inl: Added _Chain_Set_off_chain, and _Chain_Is_node_off_chain. * libmisc/shell/main_ln.c, libmisc/shell/main_mknod.c, libmisc/shell/mknod-pack_dev.c, libmisc/shell/mknod-pack_dev.h: New shell commands. * libmisc/Makefile.am, libmisc/shell/shellconfig.h: Added ln and mknod commands. * libmisc/shell/hexdump-display.c: Fixed the reopen bug which showed up as a free with a bad pointer. * libmisc/shell/main_mount.c: List the user adding file system when listing the available file systems to mount. * libmisc/shell/utils-cp.c: Remove the fixed static copy buffer and use a large dynamic buffer. * score/inline/rtems/score/address.inl, score/src/coremsgsubmit.c, score/src/objectallocate.c, score/src/objectfree.c: Remove warnings.
2009-10-01Make pci_[read|write]_config* static inline, again.Ralf Corsepius1-6/+6
2009-10-012009-10-01 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius1-1/+1
* include/rtems/pci.h: Add another missing prototype.
2009-09-302009-09-30 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius1-1/+1
* include/rtems/pci.h: Add missing prototype.
2009-09-282009-09-28 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-6/+6
* include/rtems/pci.h: Revert extern inline patch.
2009-09-252009-09-25 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-6/+6
* include/rtems/pci.h: Change extern inline to static inline.
2009-08-052009-08-05 Sebastian Huber <sebastian.huber@embedded-brains.de>Joel Sherrill1-72/+131
* libcsupport/include/rtems/libio_.h, libcsupport/src/fs_null_handlers.c: Null handlers are now const. * libi2c/libi2c.c, libi2c/libi2c.h: Documentation. Do not create semaphores on the fly. * cpukit/libblock/src/bdpart.c: Fixed format specifier. * cpukit/libblock/include/rtems/bdbuf.h, rtems/include/rtems.h, rtems/include/rtems/rtems/asr.h, rtems/include/rtems/rtems/attr.h, rtems/include/rtems/rtems/barrier.h, rtems/include/rtems/rtems/barriermp.h, rtems/include/rtems/rtems/cache.h, rtems/include/rtems/rtems/clock.h, rtems/include/rtems/rtems/config.h, rtems/include/rtems/rtems/dpmem.h, rtems/include/rtems/rtems/event.h, rtems/include/rtems/rtems/eventmp.h, rtems/include/rtems/rtems/eventset.h, rtems/include/rtems/rtems/intr.h, rtems/include/rtems/rtems/message.h, rtems/include/rtems/rtems/modes.h, rtems/include/rtems/rtems/mp.h, rtems/include/rtems/rtems/msgmp.h, rtems/include/rtems/rtems/object.h, rtems/include/rtems/rtems/part.h, rtems/include/rtems/rtems/partmp.h, rtems/include/rtems/rtems/ratemon.h, rtems/include/rtems/rtems/region.h, rtems/include/rtems/rtems/regionmp.h, rtems/include/rtems/rtems/rtemsapi.h, rtems/include/rtems/rtems/sem.h, rtems/include/rtems/rtems/semmp.h, rtems/include/rtems/rtems/signal.h, rtems/include/rtems/rtems/signalmp.h, rtems/include/rtems/rtems/status.h, rtems/include/rtems/rtems/support.h, rtems/include/rtems/rtems/taskmp.h, rtems/include/rtems/rtems/tasks.h, rtems/include/rtems/rtems/timer.h, rtems/include/rtems/rtems/types.h, rtems/inline/rtems/rtems/support.inl: Documentation. * include/rtems/irq-extension.h: Documentation. Added API for interrupt servers.
2009-06-162009-06-16 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-0/+1
* include/rtems/bspIo.h, libcsupport/Makefile.am: Add putk(). * libcsupport/src/putk.c: New file.
2009-05-152009-05-15 Sebastian Huber <sebastian.huber@embedded-brains.de>Joel Sherrill1-2/+2
* Doxygen.in: Fixed project name. Added project number. Enabled auto brief. Disabled include graphs. * include/rtems/irq-extension.h, libblock/include/rtems/bdpart.h, libblock/include/rtems/bdbuf.h, libblock/include/rtems/bdpart.h, libblock/include/rtems/blkdev.h, libblock/include/rtems/diskdevs.h, libblock/include/rtems/ramdisk.h, libblock/src/bdbuf.c, libblock/src/blkdev.c, libblock/src/diskdevs.c, libblock/src/ramdisk.c: Documentation. * libblock/src/bdpart.c: Documentation. Fixed NULL pointer access.
2009-05-05Added functions to translate integers to/from byte streams.Thomas Doerfler1-0/+132
2009-02-20New.Ralf Corsepius1-0/+2
2009-02-192009-02-19 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2-13/+10
* include/rtems/irq-extension.h, include/rtems/irq.h: Spelling errors and spacing.
2008-12-17Remove (Abandoned).Ralf Corsepius1-24/+0
2008-10-10libnetworking/rtems/rtems_glue.c: Copy nothing if ↵Thomas Doerfler1-85/+237
rtems_bsdnet_parse_driver_name() if namep is NULL. include/rtems/status-checks.h: Added prefix "RTEMS" for all macros. Doxygen style comments. Cleanup.
2008-09-222008-09-22 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-1/+12
* include/rtems/bspIo.h, libcsupport/Makefile.am: Add genchark() for polled debug input from the same device as printk(). * libcsupport/src/getchark.c: New file.
2008-08-202008-08-20 Sebastian Huber <sebastian.huber@embedded-brains.de>Joel Sherrill1-2/+2
* include/rtems/status-checks.h: Fixed integer conversion warning.
2008-07-24New function rtems_interrupt_handler_iterate()Thomas Doerfler1-10/+46
for system information and diagnostics
2008-07-11added BSP to m68kThomas Doerfler1-3/+9
adapted PPC exception code
2008-07-102008-07-10 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill1-132/+143
* include/rtems/status-checks.h: Fix style.
2008-07-10added irq-extension.h declarationsThomas Doerfler1-0/+171
2008-07-10Macros for status code and return value checks.Thomas Doerfler1-0/+176
2008-05-27Added const qualifier to various pointers and data tables toThomas Doerfler1-4/+4
reduce size of data area. IMFS: Fixed creation of symbolic links to avoid a compiler warning. DOSFS: Use LibBlock instead of read() to read the boot record.
2007-09-062007-09-06 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-2/+19
* libcsupport/Makefile.am, libcsupport/src/printk.c: * libcsupport/src/printk_plugin.c: New file. include/rtems/bspIo.h, libmisc/cpuuse/cpuusagereport.c, libmisc/cpuuse/cpuuse.h, libmisc/stackchk/check.c, libmisc/stackchk/stackchk.h: rtems/include/rtems/rtems/ratemon.h, rtems/src/ratemonreportstatistics.c: Added capability to specify your own "printf" routine to various reporting functions. This added an XXX_with_plugin as the underlying implementation for + rtems_rate_monotonic_report_statistics + rtems_stack_checker_report_usage + rtems_cpu_usage_report As demonstration, the http netdemo can now print out stack and cpu usage reports.
2007-07-262007-07-26 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2-0/+16
* include/rtems/bspIo.h, include/rtems/pci.h: Add extern "C" guards. Reported by Robert S. Grimes <rsg@alum.mit.edu>.
2007-05-10Include <rtems/bsd/sys/cdefs.h> instead of <sys/cdefs.h>.Ralf Corsepius1-1/+1
2007-05-10New.Ralf Corsepius1-0/+180
2007-05-102007-05-10 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius1-0/+602
* include/rtems/bsd/sys/queue.h: New (Copied from libnetworking/sys/queue.h).
2007-05-092007-05-09 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius1-0/+92
* include/rtems/endian.h: New (Copied from libnetworking/machine/endian.h).
2007-04-09adapted BSP "motorola_powerpc" to support MVME24xxThomas Doerfler1-0/+1
2007-03-312007-03-31 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius1-6/+6
* include/rtems/pci.h: Further stdint.h fixed-size types.
2007-03-302007-03-30 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius1-6/+8
* include/rtems/pci.h: Use stdint.h fixed size-types.
2006-12-13Abandon DEPRECATED_TYPES.Ralf Corsepius1-16/+0
2005-11-102005-11-10 Ralf Corsepius <ralf.corsepius@rtems.org>Ralf Corsepius1-0/+2
* include/rtems/stdint.h: Disable RTEMS proprietary fixed-size types.
2005-10-312005-10-31 Ralf Corsepius <ralf.corsepius@rtems.org>Ralf Corsepius1-4/+3
PR 840/rtems: * include/rtems/irq.h: Fix several typos.
2005-10-272005-10-27 Ralf Corsepius <ralf.corsepius@rtems.org>Ralf Corsepius1-0/+3
* include/rtems/concat.h: Add EXPAND0, CONCAT0.
2005-05-172005-05-17 Jennifer Averett <jennifer.averett@oarcorp.com>Jennifer Averett1-0/+218
* Makefile.am, preinstall.am: Added a common irq.h * include/rtems/irq.h: New file.
2005-05-042005-05-04 Jennifer Averett <jennifer.averett@oarcorp.com>Jennifer Averett1-1/+1
* include/rtems/pci.h: Name change to support common PCI interface