Commit Graph

32962 Commits

Author SHA1 Message Date
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
Sebastian Huber
d3c4d48da2 record: Simplify rtems_record_client_context 2019-08-16 22:53:47 +02:00
Chris Johns
15b6f44deb arm/tlb: Fix the MP affinity check to invalidate ASIDs.
- The TI's CortexA7 MP MPIDR register returns 0

Updates #3760
2019-08-12 13:58:31 +10:00
Chris Johns
df25650502 libdebugger/arm: Support ROM tables.
- Parse the ROM taables if present to find the component base for
  the debug hardware. This lets the RPi2 run dl09.exe.
2019-08-12 08:56:37 +10:00
Chris Johns
a4d7e4cee7 arm/raspberry: Set the workspace based on the mailbox version.
- Update the linkcmd file to support configure settings

- Set the workspace size based on the revision value
2019-08-12 08:49:33 +10:00
Chris Johns
9cb19ded5c libdl/debugger: Fix the broken list delete when unloading an object module.
Closes #3777
2019-08-12 08:49:33 +10:00
Vijay Kumar Banerjee
886956afd2 bsp/beagle: Add nocache section
Closes #3780
2019-08-07 20:38:43 +02:00
Sebastian Huber
cc91fae43a record: Change thread name encoding
This scheme is easier to decode.
2019-08-06 07:51:42 +02:00
Chris Johns
8c66acc8dc libdl/arm: Add support for ARM trampolines
Closes #3776
2019-08-04 12:32:50 +10:00
Christian Mauderer
163927e502 bsps/beagle: Remove dead code from GPIO.
Remove static stuff that is never used.
2019-08-03 11:53:41 +02:00
Chris Johns
7d4f74e968 arm/beagle: Add libdebugger support.
- Port the jbang code from C++ to C to enable DBGEN.
- Hook the libdebugger ARM backend support to return the base address
  of the debug register set.
2019-07-31 08:33:05 +10:00
Chris Johns
cb1e8497df libdebugger: ARM fixes for Cortex-A8 and ARM mode.
- Fix destorying the target and thread parts.
- Fix the ARM backend to support Cortex-A8 and ARM mode code.
- Use the DBGDSCR interrupt mask when single stepping.
- Use the DBGDSCR method of entry to debug mode to filter the
  execptions.
- Add support for BSPs to control the ARM backend.
2019-07-31 08:33:05 +10:00
Chris Johns
98d6792376 arm: Select the TLB invalidate based on the core's Id variant.
Closes #3760
2019-07-31 08:33:05 +10:00
Vaibhav Gupta
57e0173584 psxtests: Add ndbm test suite
Joel Sherrill <joel@rtems.org> modified the patch to
	add autoconf logic to avoid building this new test
	unless the tool chain include <ndbm.h>. The ensures
	that git bisect continues to work and that the addition
	of this test does not immediately force the entire
	community to update their tools.
2019-07-30 10:18:09 -05:00
Sebastian Huber
c5fd79cd47 arm/raspberrypi: Fix linker map
Add NULL-pointer protection.  Make MMU table read-only.  Move vector
table to start section.

Close #3774.
2019-07-30 07:25:13 +02:00
Sebastian Huber
036717eda4 record: Add support for thread names 2019-07-30 07:25:10 +02:00
Sebastian Huber
5ee70c5487 Add and use THREAD_DEFAULT_MAXIMUM_NAME_SIZE 2019-07-30 07:21:06 +02:00
Chris Johns
5a678de90c libdl/arm: Fix ARM mode trampoline parsing of relocs
- No need to dump globals syms in test dl01 when tracing

Closes #3775
2019-07-28 09:12:53 +10:00
Sebastian Huber
1e6380baf2 bsps/arm: Move HYP to SVC change to start.S
This fixes the corruption of r3 by the call to
bsp_start_arm_drop_hyp_mode().

Moving the code makes it easier to review changes in start.S.

Close #3773.
2019-07-26 08:12:20 +02:00
Sebastian Huber
0ee2125a92 bsps/arm: Move register init to start.S
This makes it easier to review changes in start.S.

Update #3773.
2019-07-26 08:00:48 +02:00
Sebastian Huber
0f5c1d5344 bsps/arm: Remove register init for ARMv7-M
There are no known ARMv7-M chips with a dual lockstep mode.

Update #3773.
2019-07-26 08:00:39 +02:00
Joel Sherrill
6eae586050 ticker/init.c: Error should say clock set not get 2019-07-22 12:52:46 -05:00
Chris Johns
270c5df5db Makefile.inc: Add support for staged builds.
- Allow the RTEMS_ROOT to be conditionally supplied. This
  can be a staging area before being moved to the final
  install prefix location.

- Update the default.cfg to use RTEMS_ROOT and to not rely on
  the exec_prefix so it's paths can be staged.

- Fix and add the needed configure subs.

Closes #3768
2019-07-19 17:50:05 +10:00
Chris Johns
c4d89deaa6 score/interr: Fix comments. 2019-07-06 17:14:22 +10:00
Sebastian Huber
e9c83b46a0 bsps: Regenerate headers.am
Update #3269.
2019-07-05 09:04:34 +02:00
Chris Johns
5cbee18e00 misc/rtemsdefaultconfig: Add bdbuf so libbsd can be used with configure. 2019-07-02 18:44:18 +10:00
Christian Mauderer
b89d6cc5e4 bsp/beagle: Partial re-write of I2C driver.
The old driver worked well for EEPROMS with the RTEMS EEPROM driver. But
it had problems with a lot of other situations. Although it's not a
direct port, the new driver is heavily modeled after the FreeBSD ti_i2c
driver.

Closes #3764.
2019-06-29 09:37:24 +02:00