[RTEMS Project] #3838: Rework work area initialization
RTEMS trac
trac at rtems.org
Wed Dec 11 14:26:21 UTC 2019
#3838: Rework work area initialization
------------------------------+-----------------------------
Reporter: Sebastian Huber | Owner: Sebastian Huber
Type: enhancement | Status: assigned
Priority: normal | Milestone: 5.1
Component: bsps | Version: 5
Severity: normal | Keywords:
Blocked By: | Blocking: 3835
------------------------------+-----------------------------
The work area initialization is done by the BSP through
bsp_work_area_initialize(). This approach predates the system
initialization through the system initialization linker set. The workspace
and C program heap are unconditionally initialized. With the availability
of statically initialized threads a system without workspace and C program
heap is feasible. Change the work area initialization so that components
are initialized on demand. To achieve this:
1. Add a Memory Handler which provides support for low level handling of
memory areas which are handed over to the higher level Heap Handler.
2. Add an implementation of _Memory_Get() to each BSP (basically a
restructuring of the bsp_work_area_initialize() implementations).
3. Add a _Memory_Get_workspace_handler_initialize() implementation to each
BSP which returns a workspace handler initialization function which can
initialize the workspace (A) from one memory area or (B) multiple memory
areas (needs _Heap_Extend()). Only two BSPs need (B).
4. Add a _Memory_Get_malloc_initialize() implementation similar to 3.
--
Ticket URL: <http://devel.rtems.org/ticket/3838>
RTEMS Project <http://www.rtems.org/>
RTEMS Project
More information about the bugs
mailing list