summaryrefslogtreecommitdiffstats
path: root/cpukit (follow)
Commit message (Collapse)AuthorAgeFilesLines
* score: Fix performance issue for 64-bit timestampsSebastian Huber2012-06-145-62/+22
| | | | | | | | | | | | | The 64-bit timestamps were introduced to simplify the timestamp calculations. This works well since nearly all operations are additions. The previous _TOD_Tickle_ticks() implementation had a serious performance regression in case of 64-bit timestamps due to the usage of two 64-bit divisions which are quite expensive on some architectures. A new field seconds_trigger in TOD_Control is introduced to trigger the _Watchdog_Tickle_seconds() in _TOD_Tickle_ticks(). This avoids the 64-bit divisions completely and only 32-bit additions are used.
* score: New structure TOD_ControlSebastian Huber2012-06-1412-38/+41
| | | | | Group the global TOD variables (_TOD_Now, _TOD_Uptime, and _TOD_Is_set) in a structure to reduce address loads in _TOD_Tickle_ticks().
* sapi: Add nanoseconds_per_tick to configurationSebastian Huber2012-06-142-1/+15
| | | | | | Add nanoseconds_per_tick to rtems_configuration_table. This value will be derived from the microseconds_per_tick value. This avoids some calculations at run-time.
* v850 - byte swap instructions not available on all multilibsJoel Sherrill2012-06-122-7/+33
|
* libblock: Add block device statisticsSebastian Huber2012-06-1211-0/+344
|
* libblock: Remove const qualifierSebastian Huber2012-06-122-18/+18
| | | | This allows addtion of per disk statistics for example.
* v850 port: Initial addition with BSP for simulator in GDBJoel Sherrill2012-06-1112-1/+1928
| | | | | | | | | | | | | | | | | | Port + v850 does not have appear to have any optimized bit scan instructions + v850 does have single instructions for wap u16 and u32 + Code path optimization preferences set + Add BSP variants for each GCC CPU model flag and a README - v850e1 variant does not work (fails during BSP initialization) BSP for GDB v850 Simulator + linkcmds matches defaults in GDB simulator with RTEMS mods + crt1.c added from v850 newlib port for __main() + BSP exits cleanly + printk and console I/O work + uses clock tick from IDLE task + Tests not requiring real clock ISR work Documentation + CPU Supplment chapter for v850 added
* powerpc/cpu.h: Define CPU_SIMPLE_VECTORED_INTERRUPTS and remove ↵Joel Sherrill2012-06-111-2/+14
| | | | _CPU_ISR_Initialize
* mips/cpu.h: Define CPU_SIMPLE_VECTORED_INTERRUPTS and remove _CPU_ISR_InitializeJoel Sherrill2012-06-111-7/+2
|
* i386/cpu.h: Define CPU_SIMPLE_VECTORED_INTERRUPTS and remove _CPU_ISR_InitializeJoel Sherrill2012-06-111-2/+14
|
* arm/cpu.h: Define CPU_SIMPLE_VECTORED_INTERRUPTS and remove _CPU_ISR_InitializeJoel Sherrill2012-06-111-2/+5
|
* isr.c: Do not call _CPU_Initialize_vectors() if PIC Interrupt ModelJoel Sherrill2012-06-111-5/+8
|
* threadhandler.c: Fix spelling of __main() in prototypeJoel Sherrill2012-06-111-5/+8
|
* librpc: PR2066: Fix for short enumsSebastian Huber2012-06-067-15/+23
| | | | | | | | | | The XDR library has a problem on architectures with short enums like the default ARM EABI. Short enums means that the size of the enum type is variable and the smallest integer type to hold all enum values will be selected. For many enums this is char. The XDR library uses int32_t for enum_t. There are several evil casts from an enum type to enum_t which leads to invalid memory accesses on short enum architectures. A workaround is to add appropriate dummy enum values.
* network/bootp: PR2031: Add and use header fileSebastien Bourdeauducq2012-06-066-38/+51
|
* libcsupport: Add rtems_printf_plugin()Sebastian Huber2012-06-043-0/+36
|
* libblock: Rename structureSebastian Huber2012-06-041-3/+3
|
* dosfs: Fix for no space left on device conditionSebastian Huber2012-06-041-3/+5
| | | | | | The file size was wrong in the no space left on device condition. This resulted in turn in a read of an invalid block which lead to an EIO error status.
* libblock: Add read-ahead taskSebastian Huber2012-06-045-130/+293
| | | | | | | | | | | Read-ahead requests were previously executed in the context of the reading task. This blocks the reading task until the complete read with read-ahead transfer is finished. A read-ahead task is introduced to off-load the read-ahead transfer. This allows the reading task to work with the requested block more quickly. The read-ahead is triggered after two misses of ascending consecutive blocks or a read hit of a block read by the most-recent read-ahead transfer. The read-ahead feature is configurable and can be disabled.
* powerpc: Simplify context switchSebastian Huber2012-06-042-146/+134
| | | | | | | | | | | | | | | | | | | PowerPC cores with the SPE (Signal Processing Extension) have 64-bit general-purpose registers. The SPE context switch code has been merged with the standard context switch code. The context switch may use cache operations to increase the performance. It will be ensured that the context is 32-byte aligned (PPC_DEFAULT_CACHE_LINE_SIZE). This increases the overall memory size of the context area in the thread control block slightly. The general-purpose registers GPR2 and GPR13 are no longer part of the context. The BSP must initialize these registers during startup (usually initialized by the __eabi() function). The new BSP option BSP_USE_DATA_CACHE_BLOCK_TOUCH can be used to enable the dcbt instruction in the context switch. The new BSP option BSP_USE_SYNC_IN_CONTEXT_SWITCH can be used to enable sync and isync instructions in the context switch. This should be not necessary in most cases.
* Fix C files which had two semi-colons at EOLJoel Sherrill2012-05-316-6/+6
|
* dosfs: Fix format request with sectors per clusterSebastian Huber2012-05-311-2/+10
|
* libblock: Move rtems_bdbuf_get_media_block() callSebastian Huber2012-05-311-75/+78
| | | | Move rtems_bdbuf_get_media_block() call inside the bdbuf lock.
* libblock: Simplify disk managementSebastian Huber2012-05-317-118/+229
| | | | | Add block_count and media_blocks_per_block to rtems_disk_device. Add and use rtems_disk_init_phys() and rtems_disk_init_log().
* libblock: Remove explicit bds_per_group parameterSebastian Huber2012-05-311-18/+13
|
* libblock: Remove const qualifier from bdbuf APISebastian Huber2012-05-318-27/+27
| | | | This allows addtion of per disk statistics for example.
* libblock: Add task stack size bdbuf configurationSebastian Huber2012-05-313-41/+72
| | | | | | The task stack size for the swap-out and worker tasks is now configurable. The bdbuf task resources are now included in the work space size estimate.
* dosfs: Fix print format stringSebastian Huber2012-05-291-1/+2
|
* ftpd: Set current directory after session closeSebastian Huber2012-05-291-1/+2
| | | | | | The chroot() is an implicit chdir("/"). Set the current directory to "/" after session close. This helps to avoid references to mounted file systems in dynamic media.
* Filesystem: Wait for unmount() to finishSebastian Huber2012-05-294-11/+79
|
* shell/lsof: Use fprintf() instead of printk()Sebastian Huber2012-05-241-2/+6
|
* libblock: Fix read request block count calculationSebastian Huber2012-05-241-1/+1
|
* libblock: Fix state descriptionsSebastian Huber2012-05-241-1/+1
|
* Add config.h.in.Ralf Corsépius2012-05-241-0/+495
|
* network/dhcp: PR1841: Fix DNS processing in DHCPSebastien Bourdeauducq2012-05-221-3/+45
|
* pci.h cleanup - Consolidate common defines to cpukit pci.hJoel Sherrill2012-05-161-4/+8
| | | | | | | | | | | | | + libbsp/sparc/shared/include/pci.h was largely a copy of an older version of the cpukit pci.h. Removed much of the contents and included <rtems/pci.h>. + sparc/*/pci*.c - Move to <rtems/pci.h> required updating to use uint32_t for dword accesses. + Rename PCI_MULTI_FUNCTION to PCI_HEADER_TYPE_MULTI_FUNCTION + Define PCI_HEADER_TYPE_MULTI_FUNCTION in cpukit pci.h and remove PCI_MULTI_FUNCTION definitions in C files. + Move PCI_INVALID_VENDORDEVICEID definitions from various C files to cpukit pci.h
* mvme5500 and cpukit pci.h - Eliminate mvme5500 specific pci.hJoel Sherrill2012-05-161-2/+12
| | | | | | | | All constants that should have been in cpukit pci.h were moved there. One naming style was corrected. This impacted if_wm.c. All other contents were the same as powerpc/shared/pci.h so BSP specific pci.h could be eliminated.
* nfsclient: Fix symbolic link evaluationSebastian Huber2012-05-161-66/+97
|
* libcsupport: Adjust malloc_walk() prototypeSebastian Huber2012-05-163-3/+4
| | | | | | | | The header file <rtems/malloc.h> provides now also the malloc_walk() prototype. The malloc_walk() prototype reflects now the _Protected_heap_Walk() API. The return status helps to print only in case of an error.
* Filesystem: Add missing include file <stdint.h>Sebastian Huber2012-05-151-0/+1
|
* Filesystem: Change pathconf_limits_and_optionsSebastian Huber2012-05-156-11/+7
| | | | | | The pathconf_limits_and_options field of rtems_filesystem_mount_table_entry_t is now a const pointer to reduce the read-write memory demands of file system instances.
* Filesystem: Move operations to mount table entrySebastian Huber2012-05-1537-64/+76
| | | | | | | | | | | The scope of the file system operations is the file system instance. The scope of the file system node handlers is the file location. The benefit of moving the operations to the mount table entry is a size reduction of the file location (rtems_filesystem_location_info_t). The code size is slightly increased due to additional load instructions. Restructure rtems_filesystem_mount_table_entry_t to improve cache efficiency.
* Filesystem: Add const qualifier to lock/unlockSebastian Huber2012-05-157-15/+19
|
* Filesystem: PR1255: Move offset update to handlersSebastian Huber2012-05-1511-20/+39
| | | | | | | It is now the responsibility of the read() and write() handler to update the offset field of the IO descriptor (rtems_libio_t). This change makes it possible to protect the IO descriptor from concurrent access by per file locks.
* Filesystem: Add shared device IO supportSebastian Huber2012-05-1514-289/+255
| | | | | The device IO file system support in IMFS, devFS, and RFS uses now a shared implementation.
* Filesystem: Use ioctl_command_tSebastian Huber2012-05-1515-89/+45
|
* rfs: Fix major and minor number integer typesSebastian Huber2012-05-151-25/+30
|
* libblock: Fix purge device tree traversalSebastian Huber2012-05-141-1/+2
|
* dosfs: Remove unused parameterSebastian Huber2012-05-141-1/+0
|
* devfs: C++ compatibilitySebastian Huber2012-05-141-1/+1
|