[RTEMS Project] #3838: Rework work area initialization

RTEMS trac trac at rtems.org
Tue Feb 4 06:03:49 UTC 2020

#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            |  Resolution:
 Keywords:                    |  Blocked By:
 Blocking:  3835, 3843, 3861  |

Comment (by Sebastian Huber <sebastian.huber@…>):

 In [changeset:"eea21eaca117ecd98afea164e1808d6530ef487f/rtems"
 #!CommitTicketReference repository="rtems"
 bsps: Rework work area initialization

 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.

Ticket URL: <http://devel.rtems.org/ticket/3838#comment:13>
RTEMS Project <http://www.rtems.org/>
RTEMS Project

More information about the bugs mailing list