summaryrefslogtreecommitdiffstats
path: root/cpukit (follow)
Commit message (Collapse)AuthorAgeFilesLines
* score: Unify pthread and gxx_wrapper once and move to score.Christian Mauderer2014-03-216-48/+114
|
* Change all references of rtems.com to rtems.org.Chris Johns2014-03-211550-1551/+1551
|
* cpukit/shell: Replace task variables with posix keys.Christian Mauderer2014-03-202-20/+40
| | | | | | | | | | | | Use posix keys for current shell environment instead of task variables. With this patch the shell needs one posix-key and one posix-key-value-pair configured. Update documentation for the shell. Adapt samples/fileio: - Add necessary objects. - Add login function and custom device name for better testing of the shell.
* score: Add _Assert_Not_reached()Sebastian Huber2014-03-191-0/+5
|
* score: Add _Debug_Is_owner_of_allocator()Sebastian Huber2014-03-193-0/+46
|
* score: Delete _Assert_Owner_of_giant()Sebastian Huber2014-03-193-13/+13
| | | | | Add _Debug_Is_owner_of_giant(). This makes it possible to assert the opposite.
* score: Delete _Assert_Thread_dispatching_repressedSebastian Huber2014-03-194-14/+12
| | | | | | | | Add _Debug_Is_thread_dispatching_allowed(). This makes it possible to assert the opposite. Use _ISR_Disable_without_giant()/_ISR_Enable_without_giant() to avoid misleading secondary assertion failures.
* posix: Use interal mutex for once implementationSebastian Huber2014-03-199-153/+42
| | | | | | Enable pthread_once() for all configurations. The pthread_once() function is one means to initialize POSIX keys. Another use case is the C++ support.
* score: Make _ISR_Enable_without_giant() availableSebastian Huber2014-03-181-4/+0
| | | | Make _ISR_Enable_without_giant() available for non-SMP configurations.
* rtems: Include missing header fileSebastian Huber2014-03-181-1/+2
|
* score: Use only next field for chain on/offSebastian Huber2014-03-171-6/+6
| | | | | It is sufficient to use one field for the chain on/off indication. The chain API functions are highly performance critical.
* sapi: Add <rtems/test.h>Sebastian Huber2014-03-175-0/+205
| | | | | | Provide support functions to print the begin/end of test message. Provide a test fatal extension to print out profiling reports in the future.
* score: Add include for uintptr_t definition.Daniel Cederman2014-03-171-0/+1
|
* arm: Add support for interrupt profilingSebastian Huber2014-03-141-0/+20
|
* score: Add SMP lock profiling supportSebastian Huber2014-03-1418-39/+545
|
* score: Add per-CPU profilingSebastian Huber2014-03-1411-8/+335
| | | | | | | Add per-CPU profiling stats API. Implement the thread dispatch disable level profiling. The interrupt profiling must be implemented in CPU port specific parts (mostly assembler code). Add a support function _Profiling_Outer_most_interrupt_entry_and_exit() for this purpose.
* sapi: Add SMP lock profiling app. level dataSebastian Huber2014-03-142-1/+176
|
* sapi: Add per-CPU profiling application level dataSebastian Huber2014-03-142-0/+190
|
* sapi: Add profiling application level supportSebastian Huber2014-03-145-0/+277
|
* score: Add --enable-profiling configure optionSebastian Huber2014-03-142-0/+15
|
* network: Add help text for ifconfigRalf Kirchner2014-03-131-20/+57
|
* sapi: TyposSebastian Huber2014-03-131-3/+3
|
* posix: Fix NULL pointer access in pthread_create()Sebastian Huber2014-03-111-2/+2
|
* score: Add function to destroy SMP locksSebastian Huber2014-03-114-4/+55
|
* score: Add local context to SMP lock APISebastian Huber2014-03-1127-264/+406
| | | | | | | | | | | 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.
* sapi: Use one SMP lock for all chainsSebastian Huber2014-03-114-139/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This partially reverts commit 1215fd4d9426a59d568560e9a485628560363133. In order to support profiling of SMP locks and provide a future compatible SMP locks API it is necessary to add an SMP lock destroy function. Since the commit above adds an SMP lock to each chain control we would have to add a rtems_chain_destroy() function as well. This complicates the chain usage dramatically. Thus revert the patch above. A global SMP lock for all chains is used to implement the protected chain operations. Advantages: * The SAPI chain API is now identical on SMP and non-SMP configurations. * The size of the chain control is reduced and is then equal to the Score chains. * The protected chain operations work correctly on SMP. Disadvantage: * Applications using many different chains and the protected operations may notice lock contention. The chain control size drop is a huge benefit (SAPI chain controls are 66% larger than the Score chain controls). The only disadvantage is not really a problem since these applications can use specific interrupt locks and unprotected chain operations to avoid this issue.
* printk: Add support for long longSebastian Huber2014-03-111-30/+55
|
* posix: RegenerateSebastian Huber2014-03-111-0/+2
|
* posix: Fix NULL pointer access in pthread_create()Sebastian Huber2014-03-101-1/+1
|
* arm: Fix stack alignment in interrupt handlerSebastian Huber2014-03-101-29/+19
| | | | | | According to AAPCS, section 5.2.1.2, "Stack constraints at a public interface" the stack must be 8 byte aligned. This was not the case during interrupt processing.
* POSIX keys now enabled in all configurations.Joel Sherrill2014-03-0715-143/+159
| | | | | | | Formerly POSIX keys were only enabled when POSIX threads were enabled. Because they are a truly safe alternative to per-task variables in an SMP system, they are being enabled in all configurations.
* Remove trailing whitespace in previous patchesJennifer Averett2014-03-0714-45/+45
|
* posix: Add pthread_getattr_np().Jennifer Averett2014-03-072-0/+58
| | | | | This is a useful POSIX thread API helper which is found in `GNU/Linux and *BSD.
* posix: Add dynamic pthread get and set affinity.Jennifer Averett2014-03-073-1/+139
| | | | | | | This patch adds the following methods: + pthread_get_affinity_np + pthread_set_affinity_np
* posix: Add pthread_attr_t methods to get/set affinity.Jennifer Averett2014-03-073-0/+108
| | | | | | | This patch adds the following methods: + pthread_attr_get_affinity_np + pthread_attr_set_affinity_np
* posix: Add support method to compare two pthread attribute structures.Jennifer Averett2014-03-072-0/+95
|
* posix: Add POSIX thread affinity attribute support.Jennifer Averett2014-03-074-16/+129
| | | | | With the addition of pthread affinity information in pthread_attr_t, the existing code for pthread_attr_t had to be adjusted.
* rtems: Add Classic API get and set affinity methods.Jennifer Averett2014-03-074-0/+177
| | | | | | | Add the following methods: + rtems_task_get_affinity + rtems_task_set_affinity
* sapi: Moved smp initialization and added cpuset initilization.Jennifer Averett2014-03-071-2/+5
| | | | | | | SMP must be initialized in order to know the current set of cores available. Without this, you cannot initialize the default cpu_set_t associated with Classic API tasks and POSIX threads.
* score: Add cpuset support to Score.Jennifer Averett2014-03-078-1/+361
| | | | | | This new Score Handler provides a structure to manage a cpu_set_t plus helper routines to validate the contents against the current system configuration.
* score: Fix per-CPU state documentationSebastian Huber2014-03-061-3/+3
|
* score: Delete _Thread_Dispatch_set_disable_level()Sebastian Huber2014-03-062-60/+0
| | | | | This function was only used in some tests and can be replaced with other functions.
* rtems: Add RTEMS_INTERRUPT_REPLACESebastian Huber2014-03-061-6/+29
| | | | | | | | | | | | | | | | | | | | | A new option RTEMS_INTERRUPT_REPLACE is introduced that permits updating the first interrupt handler for the registered interrupt vector and matching argument. If no match is found, the install function fails with RTEMS_UNSATISFIED. The Interrupt Manager Extension offers interrupt handlers with an argument pointer. It is impossible to update two words (handler and argument) atomically on most architectures. In order to avoid an SMP lock in bsp_interrupt_handler_dispatch() which would degrade the interrupt response time an alternative must be provided that makes it possible to tear-down interrupt sources without an SMP lock. Add RTEMS_INTERRUPT_REPLACE option to Interrupt Manager Extension. This enables a clean tear-down of interrupt sources on SMP configurations. Instead of an interrupt handler removal a replacement handler can be installed to silence an interrupt source. This can be used in contexts that allow no sophisticated synchronization (e.g. in atexit() or fatal handlers).
* score: Add _Atomic_Fence()Sebastian Huber2014-03-062-0/+14
|
* libnetworking: TypoSebastian Huber2014-03-061-1/+1
|
* score: Add and use _Giant_Drop()Sebastian Huber2014-03-063-0/+33
| | | | New test smptests/smpfatal03.
* score: SMP initialization and shutdown changesSebastian Huber2014-03-068-119/+230
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Rename _SMP_Request_other_cores_to_perform_first_context_switch() into _SMP_Request_start_multitasking() since this requests now a multitasking start on all configured and available processors. The name corresponds _Thread_Start_multitasking() and _SMP_Start_multitasking_on_secondary_processor() actions issued in response to this request. Move in source file to right place. Rename PER_CPU_STATE_READY_TO_BEGIN_MULTITASKING into PER_CPU_STATE_READY_TO_START_MULTITASKING. Rename PER_CPU_STATE_BEGIN_MULTITASKING into PER_CPU_STATE_REQUEST_START_MULTITASKING. Rename _SMP_Request_other_cores_to_shutdown() into _SMP_Request_shutdown(). Add a per-CPU state lock to protect all changes. This was necessary to offer a controlled shutdown of the system (atomic read/writes alone are not sufficient for this kind of synchronization). Add documentation for Per_CPU_State. Delete debug output. New tests smptests/smpfatal01 and smptests/smpfatal02.
* taskmode: Formatting correctionJoel Sherrill2014-03-051-5/+3
|
* rtems: Add cache size functionsSebastian Huber2014-02-281-0/+20
| | | | | Add rtems_cache_get_data_cache_size() and rtems_cache_get_instruction_cache_size().
* rtems: Use size_t for cache line sizeSebastian Huber2014-02-281-2/+2
| | | | A cache line cannot have a negative size.