summaryrefslogtreecommitdiffstats
path: root/cpukit (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* libdl/rtl-obj.c: synchronize cache after code relocation.Pavel Pisa2016-10-024-0/+74
| | | | | | | | | Memory content changes caused by relocation has to be propagated to memory/cache level which is used/snooped during instruction cache fill. Closes #2438 Updates #2782
* rtems+bsps/cache: Define cache manager operations for code synchronization ↵Pavel Pisa2016-10-022-1/+30
| | | | | | | | | | | | | | | | and maximal alignment. There is need for unambiguous named and defined cache function which should be called when code is updated, loaded or is self-modifying. There should be function to obtain maximal cache line length as well. This function can and should be used for allocations which can be used for data and or code and ensures that there are no partial cache lines overlaps on start and end of allocated region. Updates #2782
* score/arm: Ensure that copile time alignment is 64 bytes for Cortex-A multilib.Pavel Pisa2016-10-022-2/+11
| | | | | | | | Some/many Cortex-A cores have data cache line length 64 bytes and maximum value has to be used for system structures alignment. Updates #2782 Updates #2783
* arm/score and shared: define ARM hypervisor mode and alternate vector table ↵Pavel Pisa2016-10-021-0/+1
| | | | | | | | | | | base access. The main reason for inclusion of minimum hypervisor related defines is that current ARM boards firmware and loaders (U-boot for example) start loaded operating system kernel in HYP mode to allow it take control of virtualization (Linux/KVM for example). Updates #2783
* score: Fix C/C++ compatibility issueSebastian Huber2016-09-2318-67/+17
| | | | | | | | | Only use CPU_Per_CPU_control if it contains at least one filed. In GNU C empty structures have a size of zero. In C++ structures have a non-zero size. In case CPU_PER_CPU_CONTROL_SIZE is defined to zero, then this structure is not used anymore. Close #2789.
* libdl: Fix cache corruption bugs.Chris Johns2016-08-153-30/+86
| | | | | | | | | This patch fixes a number of bugs in the cache when requests are made to read close to the end of the file and the data is copied from the top of the cache buffer to the bottom of the buffer. This was compounded by attempting to read past the end of the file. Closes #2754.
* libdl: Add trace output when reading section headers.Chris Johns2016-08-151-0/+3
|
* posix: Fix pthread_spin_unlock() error statusSebastian Huber2016-05-253-17/+7
| | | | Update #2719.
* fat: Fix for invalid cluster sizesSebastian Huber2016-05-201-1/+3
| | | | | | | A cluster size > 32KiB resulted in an infinite loop in fat_init_volume_info() due to an integer overflow. Update #2717.
* posix: Fix return states of pthread_kill()Sebastian Huber2016-05-171-17/+11
| | | | | | POSIX mandates that an error code is returned and not -1 plus errno. Update #2715.
* posix: Fix return status of pthread_cancel()Sebastian Huber2016-05-171-1/+1
| | | | | | | POSIX recommends ESRCH in case no thread exists for the specified identifier. Update #2713.
* Filesystem: Export most generic path eval functionSebastian Huber2016-02-023-22/+6
| | | | | | | | Add path length parameter to rtems_filesystem_eval_path_start_with_root_and_current() so that users may pass paths without a '\0' termination. Update #2558.
* score: Fix simple timecounter supportSebastian Huber2016-01-274-17/+67
| | | | Close #2502.
* Clearly mark SMP support as experimental in 4.11Sebastian Huber2016-01-111-3/+7
|
* score: Fix watchdog insertSebastian Huber2016-01-051-4/+12
| | | | | | | | | Under certain conditions a new watchdog was inserted with a wrong and very large delta interval due to a wrong iterator update. Bug was introduced by 1ccbd052910ed16131c74b0d5595c8a94066942d. Close #2507.
* score: Fix watchdog removalSebastian Huber2015-12-211-1/+10
| | | | | | | | | Under certain conditions a new watchdog was inserted with a wrong and very large delta interval due to an incomplete iterator update. Bug was introduced by 1ccbd052910ed16131c74b0d5595c8a94066942d. Close #2501.
* Fix _Assert() statementSebastian Huber2015-11-252-2/+2
|
* untar: do not exit with error when created directory already exists.Pavel Pisa2015-11-232-2/+46
| | | | | | | | | | | | | | The problem exists for both RTEMS untar implementations and their variants: Untar_FromMemory(), Untar_FromFile() and rtems_tarfs_load(). If filesystem object already exists at extracted directory path then if it is directory, creation is ignored. Attempt to delete/unlink object and make directory is tried for other cases. This simple approach problem reported in ticket fixes #2413. Behavior follows GNU tar and BSD tar practice for directories but much more work is required to achieve full semantics of the full featured tar implementation still.
* sparc: Fix context switch on SMPDaniel Cederman2015-11-171-0/+3
| | | | | | | | | | | | | | | | | | We must not load registers (e.g. PSR) from the heir context area before the heir stopped execution. With this patch the write to PSR is divided into two steps. We first update the current window pointer and then we restore the status registers and enable traps. This allows us to move the first write to PSR to be before the write to WIM, as there is now no risk that we get an interrupt where the CWP and WIM would be inconsistent. We only need to make sure that we do not use any of the non-global registers or instructions that affects CWP for three instructions after the write. In the earlier code the non-global %o1 register was used right after the write to PSR, which required the use of three nop:s. Close #2472.
* score: Fix race condition on SMPSebastian Huber2015-11-173-41/+67
| | | | | | | | We must ensure that the Thread_Control::Wait information update is visible to the target thread before we update its wait flags, otherwise we may return out of date events or a wrong status. Close #2471.
* Fix interrupt epilogue for ARMv7-AR and PowerPCSebastian Huber2015-11-171-0/+27
| | | | Close #2470.
* libblock: Avoid NULL pointer accessSebastian Huber2015-11-021-1/+3
|
* ada: Add missing includeJan Sommer2015-10-301-0/+1
| | | | | Include stackimpl.h otherwise PTHREAD_MINIMUM_STACK_SIZE cannot be evaluated.
* CONFIGURE_IMFS_MEMFILE_BYTES_PER_BLOCK was undocumented and not error checkedJoel Sherrill2015-10-271-0/+14
| | | | closes #2431.
* RFS: Fix resource leakSebastian Huber2015-10-261-0/+2
| | | | Update #2433.
* rbheap: Fix rtems_rbheap_free()Sebastian Huber2015-09-111-23/+15
| | | | | | | Remove unused descriptor of merged free chunks from the free chain and add them to the spare descriptors. Update #2417.
* cpukit/libmisc/dumpbuf/dumpbuf.c: Fix compilation warningsMartin Galvan2015-09-031-1/+1
| | | | | | | | | | Compiling dumpbuf.c causes the following warning to be issued: warning: pointer targets in passing argument 1 of 'snprintf' differ in signedness [-Wpointer-sign] This happens because line_buffer is declared as unsigned. Closes #2411.
* cpukit/libnetworking/rtems/rtems_dhcp.c: Fix compilation errorMartin Galvan2015-09-031-1/+1
| | | | | | | | Apparently 'free' is defined as a macro which takes two arguments and calls rtems_bsdnet_free. When fixing #2405 I added a missing 'free' but didn't notice it was non-standard. Closes #2410.
* cpukit/libmisc/dumpbuf/dumpbuf.c: Fix undefined behavior for sprintf()Martin Galvan2015-09-031-46/+75
| | | | | | | I also used the 'n' versions of the string functions, #define'd magic numbers and added a few comments. Updates #2405.
* cpukit/libnetworking/rtems/rtems_dhcp.c: Fix leak on realloc failure for ↵Martin Galvan2015-09-031-5/+13
| | | | | | dhcp_hostname. Closes #2405.
* various .h files: Add missing C++ extern wrappersMartin Galvan2015-09-032-2/+9
| | | | Updates #2405.
* arm: Replace __sync_synchronize() implementationSebastian Huber2015-09-011-8/+19
|
* arm: Use compiler memory barrier by defaultSebastian Huber2015-09-011-1/+7
|
* rbtree: Delete rtems_rbtree_find_control()Sebastian Huber2015-09-012-35/+0
| | | | | This function is hard to support in alternative implementations. It has no internal use case.
* Respect 2^32 - 1 B NFSv2 maximum file sizeNick Withers2015-08-061-3/+45
| | | | closes #2384
* Add __synch_synchronize function for armJan Sommer2015-08-012-0/+10
| | | | Fixes link failure when linking Ada programs on the raspberry pi
* tftpDriver: close() false errorMichael Davidsaver2015-07-291-1/+3
| | | | closes #2376.
* m68k: Include proper header fileSebastian Huber2015-07-241-3/+3
|
* arm: Include proper header fileSebastian Huber2015-07-231-3/+3
|
* i2c: Fix return status of i2c dev read/writeSebastian Huber2015-07-231-6/+10
|
* sparc64/rtems/score/cpu.h: Delete dead declarationJoel Sherrill2015-07-161-16/+0
|
* powerpc: Do not use the ATB for e500 multilibSebastian Huber2015-07-151-1/+1
| | | | | | The e500v1 has no support for the ATB. Update #2369.
* powerpc: Fix _CPU_Counter_read()Nick Withers2015-07-151-1/+1
| | | | | | The mftb is not available on Book E processors. Use SPR 268 instead. Close #2369.
* libcsupport: Workaround for GCC 5.1 and laterSebastian Huber2015-07-152-2/+7
| | | | | Disable an optimization which would lead to a recursive calloc() call in calloc().
* libnetworking: Send the hostname if set in the network configuration.Chris Johns2015-07-141-2/+16
| | | | | This allows a suitably configured DHCP server with DDNS to enter the name into the DNS table making it addressiable via it's host name.
* score: Simplify _Thread_Lock_set()Sebastian Huber2015-07-131-11/+56
| | | | | Exploit the fact that the current thread lock must be the default thread lock and interrupts are disabled if we call _Thread_Lock_set().
* score: TypoSebastian Huber2015-07-131-2/+2
|
* libmisc: Use SMP application by default on SMPSebastian Huber2015-07-081-0/+4
|
* powerpc: Add BUCSR register definesSebastian Huber2015-07-081-0/+2
|
* score: Simplify _SMP_ticket_lock_Release()Sebastian Huber2015-07-012-12/+13
| | | | | Add a SMP lock statistics pointer to SMP_lock_Stats_context and drop the SMP lock statistics parameter from _SMP_ticket_lock_Release().