#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
_______________________________________________ bugs mailing list bugs@rtems.org http://lists.rtems.org/mailman/listinfo/bugs