Commit Graph

33527 Commits

Author SHA1 Message Date
Sebastian Huber
ba46b9368e config: Add _SMP_Is_enabled
Move the is SMP enabled configuration constant out of the
configuration table.

Since this was the last configuration constant in
rtems_configuration_table, remove this type.

Update #3875.
2020-02-25 07:15:19 +01:00
Sebastian Huber
567455b67a config: Add _SMP_Processor_configure_maximum
Move the processor maximum configuration constant out of the
configuration table.

Update #3875.
2020-02-25 07:15:19 +01:00
Sebastian Huber
ad85c00966 config: Add _Workspace_Is_unified
Move the unified workspace configuration constant out of the
configuration table.

Provide a default definition of the unified workspace constant.

Update #3875.
2020-02-25 07:15:19 +01:00
Sebastian Huber
ba7b2df7f0 config: Add _Workspace_Size
Move the workspace size configuration constant out of the configuration
table.

Update #3875.
2020-02-25 07:15:19 +01:00
Sebastian Huber
5180762ccb config: Add _Thread_Idle_body
Move the idle thread body configuration constant out of the
configuration table.

Provide a default definition of the idle thread body constant.

Update #3875.
2020-02-25 07:15:19 +01:00
Sebastian Huber
c70d112599 config: Add _Thread_Idle_stack_size
Move the idle thread stack size configuration constant out of the
configuration table.

Add THREAD_IDLE_STACK_SIZE_DEFAULT and use it to provide a default
definition of the idle thread stack size constant.

Update #3875.
2020-02-25 07:15:19 +01:00
Sebastian Huber
308a2e0fdc config: Add _Watchdog_Ticks_per_timeslice
Move the ticks per timeslice configuration constant out of the
configuration table.

Add WATCHDOG_TICKS_PER_TIMESLICE_DEFAULT and use it to provide a default
definition of the watchdog ticks per timeslice constant.

Update #3875.
2020-02-25 07:15:18 +01:00
Sebastian Huber
b8648bdc0c config: Add _Watchdog_Microseconds_per_tick
Move the microseconds per tick configuration constant out of the
configuration table.

Add WATCHDOG_MICROSECONDS_PER_TICK_DEFAULT and use it to provide a
default definition of the watchdog ticks constants.

Update #3875.
2020-02-25 07:15:18 +01:00
Sebastian Huber
3b4795b46f config: Remove CONFIGURE_POSIX_HAS_OWN_INIT_THREAD_TABLE
The CONFIGURE_HAS_OWN_INIT_TASK_TABLE and
CONFIGURE_POSIX_HAS_OWN_INIT_THREAD_TABLE are the last *_HAS_OWN_*
configuration options.  These two options are probably unused, see also:

* https://lists.rtems.org/pipermail/users/2019-April/033129.html

* https://lists.rtems.org/pipermail/users/2019-April/033130.html

Removing them simplifies the configuration. If there is a real user need
which shows up after the removal, we can resurrect them on demand.

Using CONFIGURE_POSIX_HAS_OWN_INIT_THREAD_TABLE would have required the
use of the undocumented CONFIGURE_POSIX_INIT_THREAD_TABLE_NAME and
CONFIGURE_POSIX_INIT_THREAD_TABLE_SIZE configuration options.

Update #3874.
2020-02-25 07:15:18 +01:00
Sebastian Huber
9bdb6aa31c config: Bring back RTEMS 4.11 configuration table
This improves API backward compatibility of RTEMS 5.1 to previous
versions.
2020-02-25 07:15:18 +01:00
Sebastian Huber
a9bc7a5516 rtems: Simplify _RTEMS_tasks_Initialize_user_task()
Due to the system initialization order, the _Thread_Global_constructor
must be 0 in this function.
2020-02-25 07:15:18 +01:00
Sebastian Huber
9520ec3a2a config: Simplify initialization task config
With the removal of the CONFIGURE_HAS_OWN_INIT_TASK_TABLE configuration
option at most one Classic API user initialization task can be
configured.

Provide an RTEMS API configuration table for backward compatibility.

Update #3873.
2020-02-25 07:15:18 +01:00
Sebastian Huber
6b0873ffdf config: Remove CONFIGURE_HAS_OWN_INIT_TASK_TABLE
The CONFIGURE_HAS_OWN_INIT_TASK_TABLE and
CONFIGURE_POSIX_HAS_OWN_INIT_THREAD_TABLE are the last *_HAS_OWN_*
configuration options.  These two options are probably unused, see also:

  * https://lists.rtems.org/pipermail/users/2019-April/033129.html

  * https://lists.rtems.org/pipermail/users/2019-April/033130.html

Removing them simplifies the configuration. If there is a real user need
which shows up after the removal, we can resurrect them on demand.

Using CONFIGURE_HAS_OWN_INIT_TASK_TABLE would have required the use of
the undocumented CONFIGURE_INIT_TASK_TABLE and
CONFIGURE_INIT_TASK_TABLE_SIZE configuration options.

Update #3873.
2020-02-25 07:15:18 +01:00
Sebastian Huber
77ee8276ef sptests/spcbssched03: Include missing header file
Update #3875.
2020-02-25 07:15:18 +01:00
Sebastian Huber
5d1d3485cb libtests/stackchk: Include missing header file
Update #3875.
2020-02-25 07:15:17 +01:00
Sebastian Huber
f6fcfea12f mptests/mp14: Include missing header file
Include <mpci.h> for MPCI_Print_statistics().

Update #3875.
2020-02-25 07:01:31 +01:00
Sebastian Huber
e58ecb8433 bsps/arm: Initialize priorities of PPIs
At least on GICv1 the interrupts 0 up to including 31 are so called
Peripheral Private Interrupts (PPIs).  We have to initialize the
priority of the PPIs on secondary processors.
2020-02-24 09:21:47 +01:00
Amaan Cheval
486829b276 Add Amaan to MAINTAINERS 2020-02-21 10:22:34 +05:30
Dennis Pfau
7006f08b86 drvmgr: Fix determination of prefix in grlib uart driver
drvmgr_get_dev_prefix returns 0 if a prefix was found.
Therefore the if condition needs to check for 0, i.e. DRVMGR_OK.
2020-02-20 09:57:27 -07:00
Chris Johns
3f7ebddfa4 testsuite/newlib: Check newlib does not touch an assigned std FILE pointer
Update #3870
2020-02-18 08:47:47 +11:00
Sebastian Huber
5886462799 config: Remove unused declaration and defines
Update #3875.
2020-02-17 08:22:31 +01:00
Sebastian Huber
dbb7ac6f23 posix: Remove <rtems/posix/ptimer.h>
This file contained duplicate prototypes for standard POSIX functions
declared in <time.h>.
2020-02-17 08:20:09 +01:00
Sebastian Huber
c621c11b4f monitor: Use proper API for all config constants 2020-02-17 08:03:56 +01:00
Sebastian Huber
e85f168eac config: Remove unused configuration constant 2020-02-17 08:03:56 +01:00
Sebastian Huber
f61377826e Remove rtems_configuration_get_posix_api_configuration()
The corresponding data structure not longer exists. This function was
not tested and documented.

Close #3871.
2020-02-17 08:03:56 +01:00
Sebastian Huber
f1baeb0224 bootstrap: Add special case for clean command
The testsuites/ada/sptests/sp19/Makefile was added to document how
sptest.adb is generated.  However, this Makefile is in the way of
./bootstrap -c.  Add an exception.
2020-02-17 08:03:55 +01:00
Sebastian Huber
2807d55666 score: Clean up wkspace.c
Remove DEBUG_WORKSPACE support.  There are better ways to trace the
application.  See Tracing chapter in the RTEMS User Manual.

Remove superfluous includes.  Change format.
2020-02-17 08:03:55 +01:00
Sebastian Huber
88c40ef8d8 score: Remove unused _Workspace_Allocate_aligned() 2020-02-17 08:03:55 +01:00
G S Niteesh
f53473fa67 bsp/raspberrypi: Mini UART driver
This patch adds driver for Mini UART present in Raspberry Pi 3
and above, this UART is currently used as the primary UART in
these models.
The Mini UART is similar to ns16550, this driver is built
upon libchip/ns16550.
2020-02-16 16:55:20 +01:00
G S Niteesh
5857e83cfc libchip/ns16550: Allow user calculate baud divisor
This patch will allow the user to pass a function to calculate
the baud divisor.
This will allow for more flexibility, since for some BSPs
like raspberrypi, the calculation of baud divisor is different
from what is in the current driver.
2020-02-16 16:55:20 +01:00
Sebastian Huber
b89b44224c smpschededf02: Improve readability 2020-02-14 16:02:54 +01:00
Sebastian Huber
33d89aff99 smpfatal09: Fix test case
Update #3838.
2020-02-14 10:06:10 +01:00
Joel Sherrill
3f732f0c4d objectdata.h, objectimpl.h: Change structure member from free to deallocate
Without this change, rtems-libbsd does not compile. A macro turns
free into bsd_free.

Also the use of a standard library element as a program identifier
is a violation of a MISRA rule. Turns out that was a good rule. :)
2020-02-14 07:30:38 +01:00
Sebastian Huber
d252e20ab5 score: Simplify _Thread_Initialize()
Allocate new thread queue heads during objects information extend.  This
removes an error case and the last dependency on the workspace in
_Thread_Initialize().

Update #3835.
2020-02-12 09:08:41 +01:00
Sebastian Huber
fc32904f4a score: Add _Objects_Allocate_with_extend()
Update #3835.
2020-02-12 09:08:41 +01:00
Sebastian Huber
dd9e50102b score: Add _Objects_Activate_unlimited()
Update #3835.
2020-02-12 09:08:41 +01:00
Sebastian Huber
8a43adbe47 score: Add _Freechain_Extend()
Update #3835.
2020-02-12 09:08:41 +01:00
Sebastian Huber
4eab96bbb4 score: Add _Freechain_Pop()
Update #3835.
2020-02-12 09:08:41 +01:00
Sebastian Huber
8ff1af1655 score: Add _Freechain_Is_empty()
Update #3835.
2020-02-12 09:08:40 +01:00
Sebastian Huber
36e59b2bbc score: _Objects_Extend_information()
Return block index in _Objects_Extend_information().  This allows to
customize the objects information extend.

Update #3835.
2020-02-12 09:08:40 +01:00
Sebastian Huber
8e118f2275 score: Inline _Objects_Namespace_remove_u32()
This function is simple enough to be inlined.

Update #3835.
2020-02-12 09:08:40 +01:00
Sebastian Huber
6135747989 score: Split up objects free
Split up the different objects free methods into separate functions.
This helps to avoid a dependency on the workspace in case no objects or
a static set of objects is configured.

Update #3835.
2020-02-12 09:08:37 +01:00
Sebastian Huber
24851567c3 score: Split up objects allocation
Split up the different objects allocation methods into separate
functions.  This helps to avoid a dependency on the workspace in case no
objects or a static set of objects is configured.

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

Update #3053.
Update #3835.
2020-02-12 09:08:37 +01:00
Sebastian Huber
6f3bc0e320 score: Add _Objects_Free_objects_block()
This is a preparation to allow a customization of the objects
information extend.

Update #3835.
2020-02-12 09:08:37 +01:00
Sebastian Huber
32991495b4 score: Statically allocate idle/MPCI stacks
Place idle and MPCI stacks into extra linker sections.  This can be
optionally used by applications to control the placement of the stacks.

Update #3835.
2020-02-12 09:08:36 +01:00
Sebastian Huber
01d59443b0 score: Move thread stack allocation
Move thread stack allocation to caller side of _Thread_Initialize().

Update #3835.
2020-02-12 09:08:36 +01:00
Sebastian Huber
4c9deb6c10 score: Add _Stack_Extend_size()
Update #3835.
2020-02-12 09:08:36 +01:00
Sebastian Huber
a08dcb2f7c score: Add Thread_Configuration
Add the Thread_Configuration structure to reduce the parameter count of
_Thread_Initialize().  This makes it easier to add more parameters in
the future.  It simplifies the code generation since most architectures
do not have that many registers available for function parameters.

Update #3835.
2020-02-12 09:08:36 +01:00
Sebastian Huber
00c7ad4cab score: Split stack allocator configuration
This allows the linker garbage collection to perform its work.

Update #3835.
2020-02-12 09:08:36 +01:00
Sebastian Huber
f4dbf37dd4 score: Simplify TLS area allocation
Use the stack area to allocate the TLS area.

Update #3835.
2020-02-12 09:08:36 +01:00