summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* score: Add Thread_ConfigurationSebastian Huber2020-02-126-153/+170
| | | | | | | | | 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.
* score: Split stack allocator configurationSebastian Huber2020-02-125-81/+139
| | | | | | This allows the linker garbage collection to perform its work. Update #3835.
* score: Simplify TLS area allocationSebastian Huber2020-02-1211-88/+161
| | | | | | Use the stack area to allocate the TLS area. Update #3835.
* score: Simplify FP context allocationSebastian Huber2020-02-126-76/+46
| | | | | | | | | | | 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.
* score: Remove _Stack_Ensure_minimum() callSebastian Huber2020-02-121-2/+1
| | | | | | This call is superfluous since _Thread_Initialize() will do this also. Update #3835.
* score: Simplify thread stack freeSebastian Huber2020-02-126-59/+32
| | | | Update #3835.
* score: Simplify thread stack allocationSebastian Huber2020-02-125-57/+29
| | | | | | Remove superfluous Thread_Control::Start::stack member. Update #3835.
* score: Remove superfluous FP types/definesSebastian Huber2020-02-1210-795/+33
| | | | Update #3835.
* arm/xilinx-zynq: Split console driver filesSebastian Huber2020-02-126-185/+245
| | | | | This avoids to pull in via printk() the Termios support which pulls in the file system support. This fixes a spconfig02 test failure.
* bsp/imx: Parse fdt pinctrl values and setup iomuxChristian Mauderer2020-02-111-0/+44
| | | | Update #3869.
* bsp/imx: Support imx6ul iomux.Christian Mauderer2020-02-111-0/+4
| | | | Update #3869.
* bsp/imx: Allow gapless SPI transfers.Christian Mauderer2020-02-111-1/+6
| | | | | | This uses the tx-threshold to reduce gaps in SPI transmissions. Update #3869.
* bsp/imx: Use muxed mode for serials.Christian Mauderer2020-02-111-0/+1
| | | | Update #3869.
* bsp/imx: Increase device memory areaSebastian Huber2020-02-111-1/+1
| | | | | | The new area is used by the i.MX 6UltraLite for example. Update #3869.
* bsp/imx: Allow GIC in different device tree node.Christian Mauderer2020-02-111-0/+3
| | | | Update #3869.
* bsp/imx: Avoid hard-coded GIC base addressSebastian Huber2020-02-112-2/+15
| | | | Update #3869.
* sptests/spregion_err01: Reduce memory demandsSebastian Huber2020-02-111-7/+4
| | | | Make functions and data static.
* termios: Fix input canonical modeSebastian Huber2020-02-101-50/+33
| | | | | | | | Canonical input processing was broken by 667501a314ba75f80f1c13c6b43dd35d0a00efd1 as shown by test case termios09. Update #3800.
* config: Add CONFIGURE_DIRTY_MEMORYSebastian Huber2020-02-067-23/+55
| | | | | | | Replace the BSP_DIRTY_MEMORY BSP option with a CONFIGURE_DIRTY_MEMORY configuration option. Update #3843.
* sysinit: Add RTEMS_SYSINIT_ZERO_MEMORYSebastian Huber2020-02-0610-22/+111
| | | | | | | | 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.
* config: CONFIGURE_ZERO_WORKSPACE_AUTOMATICALLYSebastian Huber2020-02-062-13/+7
| | | | | | | Canonicalize CONFIGURE_ZERO_WORKSPACE_AUTOMATICALLY and use defined/undefined instead of TRUE/FALSE. Close #3862.
* samples/iostream: Simplify configurationSebastian Huber2020-02-061-1/+0
| | | | | Remove CONFIGURE_ZERO_WORKSPACE_AUTOMATICALLY since it is not needed and just increases the boot time.
* config: Remove BSP_ZERO_WORKSPACE_AUTOMATICALLYSebastian Huber2020-02-061-7/+1
| | | | Update #3863.
* score: Fix linker sets on small data area targetsSebastian Huber2020-02-062-5/+14
| | | | Update #3865.
* score: Optimize STATUS_BUILD()Sebastian Huber2020-02-041-3/+5
| | | | | | 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.
* libtests/malloc04: Fix typoSebastian Huber2020-02-041-1/+1
| | | | Update #3838.
* fstests/fsstatvfs: Include missing header fileSebastian Huber2020-02-041-0/+1
|
* config: Add CONFIGURE_VERBOSE_SYSTEM_INITIALIZATIONSebastian Huber2020-02-045-2/+576
| | | | Update #3861.
* Use RTEMS_SYSINIT_ORDER_LAST_BUT_5Sebastian Huber2020-02-0416-16/+16
| | | | | | | | 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.
* sysinit: Add RTEMS_SYSINIT_ORDER_LAST_BUT_[1-9]Sebastian Huber2020-02-042-12/+39
| | | | Update #3838.
* bsps: Rework work area initializationSebastian Huber2020-02-0426-371/+550
| | | | | | | | | | | | | | | | | | | | 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.
* bsps: Remove uses of BSP_GET_WORK_AREA_DEBUGSebastian Huber2020-02-043-65/+0
| | | | | | | | | 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.
* stackchk: Add RTEMS_SYSINIT_ISR_STACKSebastian Huber2020-02-042-2/+3
| | | | | | | Use a dedicated system initialization step for the stack checker interrupt stack support. Update #3838.
* bsps: Add RTEMS_SYSINIT_BSP_EARLYSebastian Huber2020-02-046-38/+49
| | | | | | | Add new BSP system initialization step for work to be performed before the work areas are initialized. Update #3838.
* bsps: Add RamEnd to linker command filesSebastian Huber2020-02-0456-1/+56
| | | | Update #3838.
* score: Add _Memory_Fill()Sebastian Huber2020-02-043-1/+59
| | | | Update #3838.
* score: Add Memory HandlerSebastian Huber2020-02-044-0/+400
| | | | Update #3838.
* score: Optimize per-processor data placementSebastian Huber2020-02-011-1/+8
| | | | Only align per-processor data in SMP configurations.
* psxmsgq03: Adjust test caseSebastian Huber2020-01-281-1/+1
| | | | | | | Commit e22554535796fc29a7ed7c5e2338128e324a621d changed the error status from ENOMEM to EAGAIN. Update #3857.
* smptests/smpmulticast01: Fix test configurationSebastian Huber2020-01-281-1/+1
| | | | Problem introduced by 77ac1519e863b7095f69c976353f7647c6f6f63b.
* libtest: Fix T_check_task_context()Sebastian Huber2020-01-281-2/+2
| | | | Fix T_check_task_context() in RTEMS_SMP with RTEMS_DEBUG configurations.
* record: Fix configurationSebastian Huber2020-01-281-2/+4
|
* Use EAGAIN for POSIX mq wait in ISR errorMartin Erik Werner2020-01-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* bsps/arm/shared: Add GICv3 implementationKinsey Moore2020-01-174-9/+427
| | | | | | | | | 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.
* posix_devctl - Add support for SOCKCLOSEJoel Sherrill2020-01-175-3/+53
| | | | | | | | | 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.
* bsp/raspberrypi: Updated the console API.G S Niteesh2020-01-0710-404/+198
| | | | | | Replaces the legacy termios API with new termios API (#3034) Replaces the custom PL011 serial driver with RTEMS arm-pl011. Update #3034
* bsp/raspberrypi: Enable FDT support.G S Niteesh2020-01-073-0/+17
| | | | This commit adds FDT support to the BSP.
* bsp/raspberrypi: Fix size of work area.Christian Mauderer2020-01-075-189/+80
| | | | | | | | | | 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.
* bsps/arm: Define index of the workspace entry.Christian Mauderer2020-01-072-5/+6
| | | | | | 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.
* cpukit/libfs: remove more dead code from pipe/fifo.cGedare Bloom2020-01-031-2/+0
| | | | | Dead code identified by Coverity (CID 1456674). The value of ret at line 358 is always 0.