summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* bsp/erc32: Improve pseudo-SMP supportSebastian Huber2019-10-012-2/+85
| | | | | Add support for _SMP_Send_message() to the own processor. This is required by the smpmulticast01 test program.
* record: Add wrappers for malloc() functionsSebastian Huber2019-10-015-230/+642
| | | | | | | | | | Introduce new library librtemsrecordwrap.a which contains wrappers for operating system functions which produce entry/exit events. The wrappers can be selected during link time via the GNU ld --wrap option. Update #3665.
* MAINTAINERS: Remove Martin GalvanSebastian Huber2019-10-011-1/+0
| | | | | Remove Martin Galvan due to inactivity from the Write After Approval list.
* dosfs: Fix format with media block sizes > 512Sebastian Huber2019-10-011-47/+46
|
* libtests/record01: Fix test failureSebastian Huber2019-10-011-2/+45
| | | | Update #3665.
* psxtests/psxualarm: Fix test failureSebastian Huber2019-10-011-0/+8
| | | | Update #3794.
* _kernel_time.h: Compatibility to future NewlibSebastian Huber2019-10-011-0/+10
|
* Correct initial POSIX signals maskJoel Sherrill2019-09-2414-5/+561
| | | | | | | | | | | | + Modify POSIX thread create extension to ensure expected initial signal mask is provided to system threads, initial tasks and threads, and inheritied by tasks and threads. + Adds psxsignal07 to verify functionality when using a POSIX Initialization thread and POSIX threads. + Adds psxsignal08 to verify functionality when using a Classic API Initialization task and Classic API tasks. Closes #3794.
* rtems: Add rtems_interrupt_server_entry_move()Sebastian Huber2019-09-202-1/+40
| | | | | | | | | The use case for this function is the libbsd. In FreeBSD, the interrupt setup and binding to a processor is done in two steps. Message based interrupts like PCIe MSI and MSI-X interrupts can be implemented through interrupt server entries. They are setup at the default interrupt server and may optionally move to an interrupt server bound to a specific processor.
* bsps/beagle: register i2c device at initializationVijay Kumar Banerjee2019-09-193-13/+24
|
* Add rtems_version_control_key_is_valid()Sebastian Huber2019-09-112-3/+24
|
* Add psxfenv01 test to psxtestsVaibhav Gupta2019-09-105-2/+173
| | | | | | Note that this test requires a functional fenv implementation. Some targets have multilib variants where the fenv implementation is not 100% passing.
* rtems: Make rtems_version_control_key() saferSebastian Huber2019-09-092-4/+7
| | | | | Return the empty string instead of a NULL pointer if no version key is available.
* record: Allow tracing of ISR disable/enableSebastian Huber2019-09-061-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Directly use the CPU port API in boot_card() to allow tracing of the higher level interrupt disable/enable routines, e.g. _ISR_Local_disable() and _ISR_Local_enable(). Currently, there is no configuration option to enable this. Below is a patch. It may be used to investigate some nasty low level bugs in the system. Update #3665. diff --git a/cpukit/include/rtems/score/isrlevel.h b/cpukit/include/rtems/score/isrlevel.h index c42451d010..46d361ddc2 100644 --- a/cpukit/include/rtems/score/isrlevel.h +++ b/cpukit/include/rtems/score/isrlevel.h @@ -40,6 +40,10 @@ extern "C" { */ typedef uint32_t ISR_Level; +uint32_t rtems_record_interrupt_disable( void ); + +void rtems_record_interrupt_enable( uint32_t level ); + /** * @brief Disables interrupts on this processor. * @@ -56,8 +60,7 @@ typedef uint32_t ISR_Level; */ #define _ISR_Local_disable( _level ) \ do { \ - _CPU_ISR_Disable( _level ); \ - RTEMS_COMPILER_MEMORY_BARRIER(); \ + _level = rtems_record_interrupt_disable(); \ } while (0) /** @@ -72,10 +75,7 @@ typedef uint32_t ISR_Level; * _ISR_Local_disable(). */ #define _ISR_Local_enable( _level ) \ - do { \ - RTEMS_COMPILER_MEMORY_BARRIER(); \ - _CPU_ISR_Enable( _level ); \ - } while (0) + rtems_record_interrupt_enable( _level ) /** * @brief Temporarily enables interrupts on this processor. @@ -98,9 +98,8 @@ typedef uint32_t ISR_Level; */ #define _ISR_Local_flash( _level ) \ do { \ - RTEMS_COMPILER_MEMORY_BARRIER(); \ - _CPU_ISR_Flash( _level ); \ - RTEMS_COMPILER_MEMORY_BARRIER(); \ + rtems_record_interrupt_enable( _level ); \ + _level = rtems_record_interrupt_disable(); \ } while (0) /
* Add a parallel bootstrap command.Chris Johns2019-09-051-0/+246
|
* arm: Fix default exception handlerSebastian Huber2019-09-031-2/+2
| | | | Keep the stack pointer properly 8-byte aligned.
* record: Add system eventsSebastian Huber2019-09-022-7/+7
| | | | Update #3665.
* record: Add system eventsSebastian Huber2019-08-305-102/+1489
| | | | | | Add system events for memory allocation/free. Update #3665.
* record: Add system eventsSebastian Huber2019-08-307-55/+152
| | | | | | | Add system events to identify the target system. Add system events to transfer blocks of memory and register sets. Update #3665.
* record: Initialize records earlierSebastian Huber2019-08-301-4/+4
| | | | | | | | The _Record_Initialize() function depends only initialized read-only data. Call it as the first initialization step to allow tracing of the complete system initialization. Update #3665.
* record: Simplify configurationSebastian Huber2019-08-303-8/+11
| | | | Update #3665.
* record: Introduce _Record_Drain()Sebastian Huber2019-08-302-36/+51
| | | | | | This allows its use in crash dump procedures. Update #3665.
* record: Add more system eventsSebastian Huber2019-08-297-212/+1838
| | | | | | | | | | Reduce the system dependencies to allow tracing of very low level functions, for example the interrupt disable/enable. Introduce general purpose RTEMS_RECORD_CALLER and RTEMS_RECORD_LINE events. Update #3665.
* score: Add RTEMS_RETURN_ADDRESS()Sebastian Huber2019-08-282-2/+18
|
* record: Add variants for critical sectionsSebastian Huber2019-08-282-5/+48
| | | | Update #3665.
* record: Introduce <rtems/recordserver.h>Sebastian Huber2019-08-285-34/+82
| | | | | | | This helps to get rid of the <rtems/rtems/tasks.h> dependency in <rtems/record.h>. Update #3665.
* record: Use BSS section instead of per-CPU dataSebastian Huber2019-08-286-30/+35
| | | | | | | | | | | The .rtemsrwset section is used for the per-CPU data. This section has loadable content. Place the ring buffers in the BSS section to avoid large executable image sizes. Not using the per-CPU data makes it possible to initialize the record support earlier. Update #3665.
* record: Add data size to clientSebastian Huber2019-08-272-0/+9
| | | | | | | This is necessary to get the thread names properly on 32-bit and 64-bit targets. Update #3665.
* record: Fix thread names on 64-bit targetsSebastian Huber2019-08-272-2/+8
| | | | | | Also fixes the thread names on signed char targets. Update #3665.
* record: Improve overflow handlingSebastian Huber2019-08-262-25/+63
| | | | | Signal the accumulated item overflow count with the time of the first new item.
* record: Fix off by one errorSebastian Huber2019-08-261-1/+1
|
* dev/sc16is752: Reduce RX FIFO trigger levelSebastian Huber2019-08-261-2/+2
| | | | This may help to avoid character loss.
* dev/sc16is752: Set TLS to zeroSebastian Huber2019-08-261-0/+14
| | | | Ensures that the FCR values are used.
* dev/sc16is752: Do FIFO reset separatelySebastian Huber2019-08-261-0/+5
|
* dev/sc16is752: Enable enhanced func earlySebastian Huber2019-08-261-1/+2
|
* dev/sc16is752: Write to right registerSebastian Huber2019-08-261-1/+1
|
* record: Add rtems_record_client_set_handler()Sebastian Huber2019-08-171-0/+8
|
* record: Pass bintime to client handlersSebastian Huber2019-08-173-13/+40
| | | | This is a minor optimization.
* record: Simplify client visit()Sebastian Huber2019-08-171-14/+24
|
* record: Remove superfluous castSebastian Huber2019-08-171-1/+1
|
* record: Increase client robustnessSebastian Huber2019-08-172-10/+34
| | | | Do nothing after errors.
* record: Improve overflow handlingSebastian Huber2019-08-174-82/+341
| | | | | | | | In case of a ring buffer overflow, the rtems_record_drain() will push the complete ring buffer content to the client. While the items are processed by the client, new items may overwrite some items being processed. The overwritten items can be detected in the following iteration once the next tail/head information is pushed to the client.
* record: Detect also large overflowsSebastian Huber2019-08-162-19/+34
|
* record: Simplify rtems_record_client_contextSebastian Huber2019-08-162-19/+27
|
* arm/tlb: Fix the MP affinity check to invalidate ASIDs.Chris Johns2019-08-121-1/+9
| | | | | | - The TI's CortexA7 MP MPIDR register returns 0 Updates #3760
* libdebugger/arm: Support ROM tables.Chris Johns2019-08-121-9/+294
| | | | | - Parse the ROM taables if present to find the component base for the debug hardware. This lets the RPi2 run dl09.exe.
* arm/raspberry: Set the workspace based on the mailbox version.Chris Johns2019-08-124-30/+151
| | | | | | - Update the linkcmd file to support configure settings - Set the workspace size based on the revision value
* libdl/debugger: Fix the broken list delete when unloading an object module.Chris Johns2019-08-123-15/+13
| | | | Closes #3777
* bsp/beagle: Add nocache sectionVijay Kumar Banerjee2019-08-072-3/+9
| | | | Closes #3780
* record: Change thread name encodingSebastian Huber2019-08-063-6/+6
| | | | This scheme is easier to decode.