| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
This allows the linker garbage collection to perform its work.
Update #3835.
|
|
|
|
|
|
| |
Use the stack area to allocate the TLS area.
Update #3835.
|
|
|
|
|
|
|
|
|
|
|
| |
Use the stack area to allocate the FP context. This considerably
simplifies the application configuration since the task count no longer
influences the configured work space size. With this change the stack
space size is overestimated since an FP context for each thread is
accounted. Memory constraint applications can use the stack size for
fine tuning.
Update #3835.
|
|
|
|
|
|
| |
This call is superfluous since _Thread_Initialize() will do this also.
Update #3835.
|
|
|
|
| |
Update #3835.
|
|
|
|
|
|
| |
Remove superfluous Thread_Control::Start::stack member.
Update #3835.
|
|
|
|
| |
Update #3835.
|
|
|
|
|
| |
This avoids to pull in via printk() the Termios support which pulls in
the file system support. This fixes a spconfig02 test failure.
|
|
|
|
| |
Update #3869.
|
|
|
|
| |
Update #3869.
|
|
|
|
|
|
| |
This uses the tx-threshold to reduce gaps in SPI transmissions.
Update #3869.
|
|
|
|
| |
Update #3869.
|
|
|
|
|
|
| |
The new area is used by the i.MX 6UltraLite for example.
Update #3869.
|
|
|
|
| |
Update #3869.
|
|
|
|
| |
Update #3869.
|
|
|
|
| |
Make functions and data static.
|
|
|
|
|
|
|
|
| |
Canonical input processing was broken by
667501a314ba75f80f1c13c6b43dd35d0a00efd1 as shown by test case
termios09.
Update #3800.
|
|
|
|
|
|
|
| |
Replace the BSP_DIRTY_MEMORY BSP option with a CONFIGURE_DIRTY_MEMORY
configuration option.
Update #3843.
|
|
|
|
|
|
|
|
| |
Use a dedicate system initialization step to zero the memory used for
the workspace and C program heap.
This avoids dead code in case CONFIGURE_ZERO_WORKSPACE_AUTOMATICALLY is
not configured.
|
|
|
|
|
|
|
| |
Canonicalize CONFIGURE_ZERO_WORKSPACE_AUTOMATICALLY and use
defined/undefined instead of TRUE/FALSE.
Close #3862.
|
|
|
|
|
| |
Remove CONFIGURE_ZERO_WORKSPACE_AUTOMATICALLY since it is not needed and
just increases the boot time.
|
|
|
|
| |
Update #3863.
|
|
|
|
| |
Update #3865.
|
|
|
|
|
|
| |
Do not cast to unsigned int to avoid an unsigned long long enum type.
Use a multiplication/division instead to preserve the signedness of the
POSIX status.
|
|
|
|
| |
Update #3838.
|
| |
|
|
|
|
| |
Update #3861.
|
|
|
|
|
|
|
|
| |
Use RTEMS_SYSINIT_ORDER_LAST_BUT_5 instead of RTEMS_SYSINIT_ORDER_LAST
to allow applications and support functions to place system
initialization handlers behind the standard handlers.
Update #3838.
|
|
|
|
| |
Update #3838.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The work area initialization was done by the BSP through
bsp_work_area_initialize(). This approach predated the system
initialization through the system initialization linker set. The
workspace and C program heap were unconditionally initialized. The aim
is to support RTEMS application configurations which do not need the
workspace and C program heap. In these configurations, the workspace
and C prgram heap should not get initialized.
Change all bsp_work_area_initialize() to implement _Memory_Get()
instead. Move the dirty memory, sbrk(), per-CPU data, workspace, and
malloc() heap initialization into separate system initialization steps.
This makes it also easier to test the individual initialization steps.
This change adds a dependency to _Heap_Extend() to all BSPs. This
dependency will be removed in a follow up change.
Update #3838.
|
|
|
|
|
|
|
|
|
| |
The code covered by BSP_GET_WORK_AREA_DEBUG was basically dead code
since there was no normal way to activate it (e.g. via a BSP
configuration option). A follow up patch will bring back this feature
through a CONFIGURE_VERBOSE_SYSTEM_INITIALIZATION configuration option.
Update #3838.
|
|
|
|
|
|
|
| |
Use a dedicated system initialization step for the stack checker
interrupt stack support.
Update #3838.
|
|
|
|
|
|
|
| |
Add new BSP system initialization step for work to be performed before
the work areas are initialized.
Update #3838.
|
|
|
|
| |
Update #3838.
|
|
|
|
| |
Update #3838.
|
|
|
|
| |
Update #3838.
|
|
|
|
| |
Only align per-processor data in SMP configurations.
|
|
|
|
|
|
|
| |
Commit e22554535796fc29a7ed7c5e2338128e324a621d changed the error status
from ENOMEM to EAGAIN.
Update #3857.
|
|
|
|
| |
Problem introduced by 77ac1519e863b7095f69c976353f7647c6f6f63b.
|
|
|
|
| |
Fix T_check_task_context() in RTEMS_SMP with RTEMS_DEBUG configurations.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Modify the status code returned by _CORE_message_queue_Submit() when it
detects a wait about to happen in an ISR (which would be deadly) to
return a status which translated to EAGAIN instead of ENOMEM.
This is only relevant for POSIX message queues, since Classic API message
queues cannot block on send.
The motivation is to match the "most related" errno value returned from
mq_send() and mq_timedsend() according to POSIX, via Open Group:
[EAGAIN]
The O_NONBLOCK flag is set in the message queue description
associated with mqdes, and the specified message queue is full.
or via the RTEMS POSIX users documentation
EAGAIN
The message queue is non-blocking, and there is no room on the queue
for another message as specified by the mq_maxmsg.
Neither of these matches the case ofi avoided ISR wait perfectly, but
they seem to be the closest equivalent, unless it is desirable to keep a
new non-standard error for this case. It is presumed that this is not
desirable.
The previously returned ENOMEM error value is not documented in either
the Open Group or the RTEMS POSIX uses documentation. A companion patch
corrects the documentation to include this error condition.
Based on the discussion in:
https://lists.rtems.org/pipermail/devel/2020-January/056891.html
closes #3857.
Message-Id: <CAF9ehCW5P12ZkZja4UPYTbdBFUyC1VKVL-tU7nyUtvK1Lz2Z3g@mail.gmail.com>
|
|
|
|
|
|
|
|
|
| |
This adds support for the GICv3 interrupt controller along with the
redistributor to control SGIs and PPIs which wasn't present in GICv2
implementations. GICv3 implementations only optionally support
memory-mapped GICC interface interaction and require system register
access be implemented, so the GICC interface is accessed only
through system registers.
|
|
|
|
|
|
|
|
|
| |
The FACE Technical Standard, Edition 3.0 and later require the definition
of the subcommand SOCKCLOSE in <devctl.h>.
Reference: ​https://www.opengroup.org/face
closes #3856.
|
|
|
|
|
|
| |
Replaces the legacy termios API with new termios API (#3034)
Replaces the custom PL011 serial driver with RTEMS arm-pl011.
Update #3034
|
|
|
|
| |
This commit adds FDT support to the BSP.
|
|
|
|
|
|
|
|
|
|
| |
The BSP tried to get the size of the SDRAM based on the revision code.
Unfortunately the code had some bugs so that the default size has been
used. Beneath that the MMU table hasn't been adapted.
This patch queries the SDRAM size via a special VC Mailbox call instead.
For the MMU adaption a simmilar method to the one in the imx BSP is
used.
|
|
|
|
|
|
| |
The imx BSP contained a hack to change the workspace entry of the MMU
table. This makes the used define visible for other BSPs too so that the
same hack can be used for example in raspberry pi too.
|
|
|
|
|
| |
Dead code identified by Coverity (CID 1456674). The value of ret
at line 358 is always 0.
|