Joel Sherrill
ff4a4a862b
termios04/init.c: Remove dead copy of change_iflag()
2019-10-04 09:13:28 -05:00
Joel Sherrill
7685b48f40
cpukit/headers.am: Regenerate
2019-10-04 09:12:55 -05:00
Sebastian Huber
8d989c56ff
score: Install timecounter according to quality
...
This makes it possible to install higher quality timecounter in
plug-and-play systems and helps to override the clock driver provided
timecounter in some test scenarios.
2019-10-02 07:01:36 +02:00
Sebastian Huber
47e5c1d7cd
score: Remove strange timecounter init step
...
The double call of the timecounter get method was added to FreeBSD in
2002 without a comment. It is not clear why this is needed.
2019-10-02 07:01:36 +02:00
Sebastian Huber
2763f530d3
score: Remove superfluous timecounter members
2019-10-02 07:01:36 +02:00
Sebastian Huber
6ae25220d6
Revert "record: Add wrappers for malloc() functions"
...
It was accidentally committed.
This reverts commit a314544a27 .
2019-10-02 06:40:30 +02:00
Sebastian Huber
1b84d2b360
libtests/ttest01: Fix typos
2019-10-02 06:38:07 +02:00
Sebastian Huber
be3d697450
bsp/erc32: Improve pseudo-SMP support
...
Add support for _SMP_Send_message() to the own processor. This is
required by the smpmulticast01 test program.
2019-10-01 09:55:07 +02:00
Sebastian Huber
a314544a27
record: Add wrappers for malloc() functions
...
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 .
2019-10-01 09:55:07 +02:00
Sebastian Huber
1ea7e3a76e
MAINTAINERS: Remove Martin Galvan
...
Remove Martin Galvan due to inactivity from the Write After Approval
list.
2019-10-01 09:55:07 +02:00
Sebastian Huber
d488050953
dosfs: Fix format with media block sizes > 512
2019-10-01 09:55:07 +02:00
Sebastian Huber
c1eb577486
libtests/record01: Fix test failure
...
Update #3665 .
2019-10-01 09:55:07 +02:00
Sebastian Huber
aeb981ea1b
psxtests/psxualarm: Fix test failure
...
Update #3794 .
2019-10-01 09:16:31 +02:00
Sebastian Huber
de6348a9f1
_kernel_time.h: Compatibility to future Newlib
2019-10-01 08:13:56 +02:00
Joel Sherrill
8798372261
Correct initial POSIX signals mask
...
+ 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 .
2019-09-24 16:27:57 -05:00
Sebastian Huber
33ed4123c0
rtems: Add rtems_interrupt_server_entry_move()
...
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.
2019-09-20 09:22:46 +02:00
Vijay Kumar Banerjee
a4e96cfb0a
bsps/beagle: register i2c device at initialization
2019-09-19 21:27:16 +02:00
Sebastian Huber
c1a1f2c8da
Add rtems_version_control_key_is_valid()
2019-09-11 07:28:34 +02:00
Vaibhav Gupta
5e5867a32a
Add psxfenv01 test to psxtests
...
Note that this test requires a functional fenv implementation. Some
targets have multilib variants where the fenv implementation is not
100% passing.
2019-09-10 13:47:29 -05:00
Sebastian Huber
eaa415b2c7
rtems: Make rtems_version_control_key() safer
...
Return the empty string instead of a NULL pointer if no version key is
available.
2019-09-09 07:04:53 +02:00
Sebastian Huber
c331bdc777
record: Allow tracing of ISR disable/enable
...
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)
/
2019-09-06 08:09:34 +02:00
Chris Johns
02ed0b802b
Add a parallel bootstrap command.
2019-09-05 14:25:27 +10:00
Sebastian Huber
0b3dcb3b37
arm: Fix default exception handler
...
Keep the stack pointer properly 8-byte aligned.
2019-09-03 10:34:13 +02:00
Sebastian Huber
e41e9961df
record: Add system events
...
Update #3665 .
2019-09-02 07:47:48 +02:00
Sebastian Huber
1c72ad73ae
record: Add system events
...
Add system events for memory allocation/free.
Update #3665 .
2019-08-30 15:03:14 +02:00
Sebastian Huber
8ace7eada4
record: Add system events
...
Add system events to identify the target system. Add system events to
transfer blocks of memory and register sets.
Update #3665 .
2019-08-30 11:18:47 +02:00
Sebastian Huber
1e18f645f3
record: Initialize records earlier
...
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 .
2019-08-30 08:57:31 +02:00
Sebastian Huber
11f196d646
record: Simplify configuration
...
Update #3665 .
2019-08-30 08:57:28 +02:00
Sebastian Huber
d78082ce76
record: Introduce _Record_Drain()
...
This allows its use in crash dump procedures.
Update #3665 .
2019-08-30 08:46:17 +02:00
Sebastian Huber
58bd67bb35
record: Add more system events
...
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 .
2019-08-29 10:07:02 +02:00
Sebastian Huber
807ea677b2
score: Add RTEMS_RETURN_ADDRESS()
2019-08-28 15:22:27 +02:00
Sebastian Huber
956a2ef78d
record: Add variants for critical sections
...
Update #3665 .
2019-08-28 15:22:27 +02:00
Sebastian Huber
3eb8d78369
record: Introduce <rtems/recordserver.h>
...
This helps to get rid of the <rtems/rtems/tasks.h> dependency in
<rtems/record.h>.
Update #3665 .
2019-08-28 15:22:06 +02:00
Sebastian Huber
a2684c2b8d
record: Use BSS section instead of per-CPU data
...
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 .
2019-08-28 08:58:14 +02:00
Sebastian Huber
e273e7a9a8
record: Add data size to client
...
This is necessary to get the thread names properly on 32-bit and 64-bit
targets.
Update #3665 .
2019-08-27 08:46:38 +02:00
Sebastian Huber
a8af7a14ec
record: Fix thread names on 64-bit targets
...
Also fixes the thread names on signed char targets.
Update #3665 .
2019-08-27 08:46:33 +02:00
Sebastian Huber
dfdc3faa91
record: Improve overflow handling
...
Signal the accumulated item overflow count with the time of the first
new item.
2019-08-26 08:01:46 +02:00
Sebastian Huber
45d4ea3141
record: Fix off by one error
2019-08-26 08:01:46 +02:00
Sebastian Huber
62fc148977
dev/sc16is752: Reduce RX FIFO trigger level
...
This may help to avoid character loss.
2019-08-26 07:24:43 +02:00
Sebastian Huber
aa7b76e98b
dev/sc16is752: Set TLS to zero
...
Ensures that the FCR values are used.
2019-08-26 07:24:43 +02:00
Sebastian Huber
2a2a0fdd95
dev/sc16is752: Do FIFO reset separately
2019-08-26 07:24:43 +02:00
Sebastian Huber
73826b490c
dev/sc16is752: Enable enhanced func early
2019-08-26 07:24:43 +02:00
Sebastian Huber
da1b4714f5
dev/sc16is752: Write to right register
2019-08-26 07:24:43 +02:00
Sebastian Huber
4a9a58ea8a
record: Add rtems_record_client_set_handler()
2019-08-17 19:01:14 +02:00
Sebastian Huber
c91f6f5f4e
record: Pass bintime to client handlers
...
This is a minor optimization.
2019-08-17 19:01:14 +02:00
Sebastian Huber
17331028e5
record: Simplify client visit()
2019-08-17 19:01:14 +02:00
Sebastian Huber
5c37f03f6f
record: Remove superfluous cast
2019-08-17 19:01:14 +02:00
Sebastian Huber
2ef2c14f8a
record: Increase client robustness
...
Do nothing after errors.
2019-08-17 19:01:14 +02:00
Sebastian Huber
52c8ac7b69
record: Improve overflow handling
...
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.
2019-08-17 19:01:10 +02:00
Sebastian Huber
b2c060a507
record: Detect also large overflows
2019-08-16 22:54:32 +02:00