Commit Graph

33645 Commits

Author SHA1 Message Date
Kinsey Moore
ed9c88cea8 bsps: Add Cortex-A53 ILP32 BSP variant
This adds an AArch64 ILP32 BSP variant based on Qemu's Cortex-A53
emulation with interrupt support using GICv3 and clock support using
the ARM GPT.
2020-10-05 16:11:40 -05:00
Kinsey Moore
db68ea1b9b bsps: Add Cortex-A53 LP64 basic BSP
This adds an AArch64 basic BSP based on Qemu's Cortex-A53 emulation with
interrupt support using GICv3 and clock support using the ARM GPT.
2020-10-05 16:11:40 -05:00
Kinsey Moore
8387c52e47 score: Add AArch64 port
This adds a CPU port for AArch64(ARMv8) with support for exceptions and
interrupts.
2020-10-05 16:11:39 -05:00
Kinsey Moore
232fc52d4c spmsgq_err01: Use correct max values and fix 64bit
Fix spmsgq_err01 on systems with 64-bit pointers and correct max value
mismatches and inaccuracies that are more noticable on 64-bit systems.
2020-10-05 16:11:39 -05:00
Kinsey Moore
cb2afd2eaa bsps/shared: Add PSCI-based bspreset implementation
This adds a bsp_reset implementation based on the ARM PSCI
specification often present in ARMv8 systems.
2020-10-05 16:11:39 -05:00
Kinsey Moore
f8ad5bb2a4 bsps: Break out AArch32 GICv3 support
This breaks out AArch32-specific code so that the shared GICv3 code can
be reused by other architectures.
2020-10-05 16:11:39 -05:00
Kinsey Moore
1480c3f5e8 bsps: Break out AArch32 portions of GPT driver
This breaks AArch32-specific portions of the ARM GPT driver into their
own file so that the generic code can be moved for reuse by other
architectures.
2020-10-05 16:11:39 -05:00
Kinsey Moore
647a60e2c3 spec: Add missing spintrcritical24 definition 2020-10-05 16:11:39 -05:00
Kinsey Moore
1c03649312 Move ARM PL011 UART driver
This UART driver is now needed for BSPs other than ARM.
2020-10-05 16:11:39 -05:00
Sebastian Huber
83278070ba build: Add test excludes for RTEMS_DEBUG
Close #4121.
2020-10-05 19:34:26 +02:00
Sebastian Huber
a9995f101d bsp/lpc176x: Fix memory map
Due to the static allocation of operating system resources the .bss section
needs more space than the .work section.

Close #4117.
2020-10-05 19:34:10 +02:00
Sebastian Huber
2c36761768 build: Add testopts.h to configure script
Close #4120.
2020-10-05 12:00:29 +02:00
Sebastian Huber
f53712a0e3 build: Use exact match by default for BSP names
Update #3818.
2020-10-02 16:29:48 +02:00
Sebastian Huber
7c0744f5b3 build: Scope RTEMS_MULTIPROCESSING option
Enable it only for selected BSPs. Improve description.
2020-10-02 14:38:33 +02:00
Sebastian Huber
6a31ae63ce build: Fix typo 2020-10-02 14:38:33 +02:00
Sebastian Huber
f2185d1099 Decouple the C Program Heap initialization
Before this patch RTEMS_Malloc_Initialize() had a fixed dependency on
_Workspace_Area.  Introduce _Workspace_Malloc_initializer to have this
dependency only if CONFIGURE_UNIFIED_WORK_AREAS is defined by the
application configuration.
2020-10-01 19:05:33 +02:00
Sebastian Huber
71689a0775 rtems: Canonicalize name and id checks
Check the name followed by the id check in all create directives.

Compare pointers against NULL.  Fix formatting.
2020-10-01 18:05:58 +02:00
Sebastian Huber
2d8802b519 tests: Add and use <rtems/testopts.h>
Add the build option RTEMS_TEST_VERBOSITY to control the verbosity of
test suites using the RTEMS Test Framework.
2020-10-01 18:05:42 +02:00
Sebastian Huber
cb1b8260fc build: Enable RTEMS_SMP only for selected BSPs 2020-10-01 13:38:19 +02:00
Sebastian Huber
16b29af2c5 build: Fix build dependencies of JFFS2 tests
Close #4107.
2020-10-01 07:46:29 +02:00
Sebastian Huber
2da7e94fe5 libtests/sha: Fix test if -O0 is used 2020-09-30 13:01:45 +02:00
Sebastian Huber
31c333d71c build: Include cpuopts.h in "config.h"
The Autoconf/Automake build system did something similar.  This fixes
the build of sigprogmask.c which uses RTEMS_POSIX_API and expects to get
it defined via "config.h".

Update #3818.
2020-09-30 12:54:02 +02:00
Sebastian Huber
5ff5ce62f9 rtems: Remove rtems_io_driver_io_error()
The implementation was added and removed in 2009.
2020-09-29 15:30:23 +02:00
Ryan Long
0805930d0c rtems-bsps: add ability to print architecture/bsp list
Closes #4099.
2020-09-29 15:10:52 +10:00
Frank Kühndel
ffc928b9a2 Fixing bug in line editing of the shell with CTRL-U.
This patch fixes a tiny bug in the command line editing of the RTEMS shell.
Typing CTRL-U in the shell should remove all characters left of the cursor.
After pressing CTRL-U, the current implementation does wrongly place the cursor
at the end of the line instead at its beginning.

To reproduce the bug, start the shell and type 'abc123' (no <RETURN>):

> ~/src/rtems $ qemu-system-arm -net none -nographic -M realview-pbx-a9 \
  -m 256M -kernel build/arm/realview_pbx_a9_qemu/testsuites/libtests/dl10.exe
> *** BEGIN OF TEST libdl (RTL) 10 ***
> *** TEST VERSION: 6.0.0.d9bdf166644f612dd628fe4951c12c6f8e94ba5f
> *** TEST STATE: USER_INPUT
> *** TEST BUILD: RTEMS_DEBUG RTEMS_NETWORKING RTEMS_POSIX_API RTEMS_SMP
> *** TEST TOOLS: 10.2.1 20200904 \
  (RTEMS 6, RSB 31f936a7b74d60bda609a9960c6e1a705ba54974, Newlib a0d7982)
> RTL (libdl) commands: dl, rtl
>
> RTEMS Shell on /dev/foobar. Use 'help' to list commands.
> SHLL [/] # abc123

Then move the cursor onto the '1' by hitting three times the <ARROW-LEFT> key.
Next type <CTRL>-U:

> SHLL [/] # 123

Note that the cursor is at the end of the line (after '3') instead of correctly
at the beginning (on the '1'), now.

Continuing typing 'echo ' incorrectly results in the output:

> SHLL [/] # 123echo 123

The patch changes this behavior so that the cursor in the second last step will
be on the '1' and typing 'echo ' will then correctly reflected as:

> SHLL [/] # echo 123

Close #4097.
2020-09-28 14:16:06 +02:00
Sebastian Huber
f48d7834b0 doxygen: Fix use of getchark() and rtems_putc() 2020-09-28 09:10:00 +02:00
Sebastian Huber
febc66048a validation: Test rtems_message_queue_construct()
Update #4007.
2020-09-28 07:16:04 +02:00
Sebastian Huber
4a4f41ed64 rtems: Add rtems_message_queue_construct()
In contrast to message queues created by rtems_message_queue_create(), the
message queues constructed by this directive use a user-provided message buffer
storage area.

Add RTEMS_MESSAGE_QUEUE_BUFFER() to define a message buffer type for message
buffer storage areas.

Update #4007.
2020-09-28 07:16:01 +02:00
Sebastian Huber
24ea1cebeb rtems: Remove Message_queue_Control::attribute_set
Add Message_queue_Control::is_global if RTEMS_MULTIPROCESSING is defined.  This
reduces the Message_queue_Control size in standard RTEMS configurations.

Update #4007.
2020-09-28 06:19:52 +02:00
Sebastian Huber
2c09f54fc4 score: Add <rtems/score/coremsgbuffer.h>
Move the CORE_message_queue_Buffer definition to a separate header file to be
able to use it independent of the remaining Message Queue Handler API.

Change license to BSD-2-Clause according to file history.

Update #3053.
Update #4007.
2020-09-28 06:19:52 +02:00
Sebastian Huber
69b4fe592f score: Simplify CORE_message_queue_Buffer
Merge CORE_message_queue_Buffer structure into
CORE_message_queue_Buffer_control.

Use a zero-length array for the actual message buffer.  This reduces the
structure size on all targets.

Update #4007.
2020-09-28 06:19:52 +02:00
Sebastian Huber
5bc7c3724f score: Improve _CORE_message_queue_Initialize()
Return a status code and differentiate between error conditions.

Update #4007.
2020-09-28 06:19:52 +02:00
Sebastian Huber
34dd90a560 score: Gather message queue control initialization
Initialize the structure in a single code block after the error checks and
calculations.

Update #4007.
2020-09-28 06:19:52 +02:00
Sebastian Huber
fe2cb7c47c score: Fix allocation size calculation
The previous multiplication error check is broken on 64-bit machines.  Use the
recommended check from SEI CERT C Coding Standard, "INT30-C. Ensure that
unsigned integer operations do not wrap".

Make sure the message size computation does not overflow.

Update #4007.
2020-09-28 06:19:52 +02:00
Sebastian Huber
3c0255766d score: Use RTEMS_ALIGN_UP()
Update #4007.
2020-09-28 06:19:52 +02:00
Sebastian Huber
cbd4f542ec build: Add comment
Update #3818.
2020-09-28 06:18:19 +02:00
Sebastian Huber
71ccc156a5 build: Fix option default values
For the option default values we have to use the BSP name defined by the build
specification and not the user.

Update #3818.
2020-09-27 09:36:07 +02:00
Sebastian Huber
b8d84015a4 build: Fix enabled-by evaluation
For the enabled-by evaluation we have to use the BSP name defined by the
build specification and not the user.

Update #3818.
2020-09-27 09:35:06 +02:00
Sebastian Huber
9a27c9cfd8 build: Simplify get_compiler()
Update #3818.
2020-09-27 09:34:27 +02:00
Sebastian Huber
73926320d7 build: Add RTEMS_PROFILING
Update #3818.
2020-09-25 18:51:00 +02:00
Sebastian Huber
a72419b4de libtest: Remove superfluous assignment
Issue found by Coverity (CID 1437643).
2020-09-24 18:07:50 +02:00
Jan Sommer
1f77518fca bsps/pc386: Add missing license header
Closes #4093.
2020-09-23 08:25:30 -05:00
Sebastian Huber
18fe650ad0 or1k: Do not use printk() for _CPU_Fatal_halt()
Debug output can be added to user-defined fatal error handlers.
2020-09-23 07:35:05 +02:00
Sebastian Huber
2248b3781d or1k: Remove superfluous includes
Including <stdio.h> in <rtems/score/cpu.h> breaks libbsd.
2020-09-23 07:35:05 +02:00
Sebastian Huber
e8450a6c36 bsps/riscv: Add bsp_fdt_map_intr()
This function is required by libbsd.
2020-09-23 07:35:05 +02:00
Chris Johns
5ebba2c5f4 libmisc/capture: Add rtems-trace-buffer-default.c to the autotools build 2020-09-23 13:59:31 +10:00
Chris Johns
de58eb2f4f cpukit/rtems: Add taskconstruct.c to the autotools build 2020-09-23 13:46:48 +10:00
Sebastian Huber
d9bdf16664 rtems: Install missing header file
Update #3053.
2020-09-22 09:44:01 +02:00
Sebastian Huber
d110e6e3b3 bsp/gen83xx: Add missing source file
Update #3818.
2020-09-21 06:34:56 +02:00
Sebastian Huber
e59cb6a2b2 bsps/powerpc: Remove __ppc_generic define
Do not force BSPs to define __ppc_generic.

This was probably the last command line define in the BSPs.
2020-09-20 17:45:11 +02:00