[PATCH 0/7] Rework work area initialization

Sebastian Huber sebastian.huber at embedded-brains.de
Mon Dec 16 12:42:05 UTC 2019


This change set reworks the work area initialization carried out by the BSPs to
initialize the workspace and C program heap only on demand, e.g. in case these
components are used by the application.

Currenlty, the workspace is always used, however, this may change in a follow up
change set.

Sebastian Huber (7):
  score: Add Memory Handler
  score: Add _Memory_Dirty()
  bsps: Add RamEnd to linker command files
  bsps: Add RTEMS_SYSINIT_BSP_EARLY
  stackchk: Add RTEMS_SYSINIT_ISR_STACK
  bsps: Remove uses of BSP_GET_WORK_AREA_DEBUG
  bsps: Rework work area initialization

 bsps/arm/altera-cyclone-v/start/bspgetworkarea.c |  87 +++---
 bsps/arm/gdbarmsim/include/bsp.h                 |   2 -
 bsps/arm/imx/start/bspstarthooks.c               |  28 +-
 bsps/arm/raspberrypi/start/bspgetworkarea.c      |  36 ++-
 bsps/arm/shared/start/linkcmds.base              |   1 +
 bsps/bfin/TLL6527M/start/linkcmds                |   1 +
 bsps/bfin/bf537Stamp/start/linkcmds              |   1 +
 bsps/bfin/eZKit533/start/linkcmds                |   1 +
 bsps/epiphany/epiphany_sim/start/linkcmds        |   1 +
 bsps/i386/pc386/start/bspgetworkarea.c           |  35 ++-
 bsps/i386/pc386/start/linkcmds                   |   1 +
 bsps/include/bsp/bootcard.h                      |  97 +------
 bsps/lm32/lm32_evr/start/linkcmds                |   1 +
 bsps/lm32/milkymist/start/linkcmds               |   1 +
 bsps/m68k/av5282/start/linkcmds                  |   1 +
 bsps/m68k/av5282/start/linkcmdsflash             |   1 +
 bsps/m68k/av5282/start/linkcmdsram               |   1 +
 bsps/m68k/csb360/start/linkcmds                  |   1 +
 bsps/m68k/gen68340/start/linkcmds                |   1 +
 bsps/m68k/gen68360/start/linkcmds                |   1 +
 bsps/m68k/gen68360/start/linkcmds.bootp          |   1 +
 bsps/m68k/gen68360/start/linkcmds.prom           |   1 +
 bsps/m68k/mcf5206elite/start/linkcmds            |   1 +
 bsps/m68k/mcf52235/start/linkcmds                |   1 +
 bsps/m68k/mcf5225x/start/linkcmds                |   1 +
 bsps/m68k/mcf5235/start/linkcmds                 |   1 +
 bsps/m68k/mcf5235/start/linkcmdsflash            |   1 +
 bsps/m68k/mcf5235/start/linkcmdsram              |   1 +
 bsps/m68k/mcf5329/start/linkcmds                 |   1 +
 bsps/m68k/mcf5329/start/linkcmdsflash            |   1 +
 bsps/m68k/mrm332/start/linkcmds                  |   2 +-
 bsps/m68k/mvme162/start/linkcmds                 |   1 +
 bsps/m68k/mvme167/start/linkcmds                 |   1 +
 bsps/m68k/shared/start/linkcmds.base             |   1 +
 bsps/m68k/uC5282/start/linkcmds                  |   1 +
 bsps/mips/csb350/start/linkcmds                  |   1 +
 bsps/mips/hurricane/start/linkcmds               |   1 +
 bsps/mips/jmr3904/start/linkcmds                 |   1 +
 bsps/mips/malta/start/linkcmds                   |   1 +
 bsps/mips/rbtx4925/start/linkcmds                |   1 +
 bsps/mips/rbtx4938/start/linkcmds                |   1 +
 bsps/moxie/moxiesim/start/linkcmds               |   1 +
 bsps/nios2/nios2_iss/start/linkcmds              |   1 +
 bsps/or1k/shared/start/linkcmds.base             |   1 +
 bsps/powerpc/beatnik/start/bspstart.c            |  19 +-
 bsps/powerpc/gen5200/start/linkcmds.gen5200_base |   1 +
 bsps/powerpc/haleakala/start/linkcmds            |   1 +
 bsps/powerpc/motorola_powerpc/start/bspstart.c   |  19 +-
 bsps/powerpc/mpc55xxevb/start/bspgetworkarea.c   |  27 +-
 bsps/powerpc/mpc8260ads/start/linkcmds           |   1 +
 bsps/powerpc/mvme3100/start/bspstart.c           |  19 +-
 bsps/powerpc/mvme5500/start/bspstart.c           |  13 +-
 bsps/powerpc/qoriq/start/mmu-config.c            |  27 +-
 bsps/powerpc/shared/start/bspgetworkarea.c       |  34 +--
 bsps/powerpc/shared/start/linkcmds.base          |   1 +
 bsps/powerpc/shared/start/sbrk.c                 |  63 ++++-
 bsps/powerpc/ss555/start/linkcmds                |   1 +
 bsps/powerpc/tqm8xx/start/bspgetworkarea.c       |  26 +-
 bsps/powerpc/virtex4/start/linkcmds              |   1 +
 bsps/powerpc/virtex5/start/linkcmds              |   1 +
 bsps/riscv/shared/start/linkcmds.base.in         |   1 +
 bsps/sh/gensh1/start/linkcmds                    |   1 +
 bsps/sh/gensh2/start/linkcmds                    |   1 +
 bsps/sh/gensh2/start/linkcmds.ram                |   1 +
 bsps/sh/gensh2/start/linkcmds.rom                |   1 +
 bsps/sh/gensh4/start/linkcmds                    |   1 +
 bsps/sh/gensh4/start/linkcmds.rom                |   1 +
 bsps/sh/gensh4/start/linkcmds.rom2ram            |   1 +
 bsps/sh/shsim/start/linkcmds                     |   1 +
 bsps/shared/start/bootcard.c                     |  11 +-
 bsps/shared/start/bspgetworkarea-default.c       |  46 +--
 bsps/sparc/shared/start/bspgetworkarea.c         |  66 ++---
 bsps/sparc64/shared/start/linkcmds               |   1 +
 bsps/v850/gdbv850sim/start/linkcmds              |   1 +
 bsps/x86_64/amd64/start/linkcmds                 |   1 +
 cpukit/Makefile.am                               |   2 +
 cpukit/headers.am                                |   1 +
 cpukit/include/rtems/confdefs.h                  |  15 -
 cpukit/include/rtems/malloc.h                    |   6 +-
 cpukit/include/rtems/score/memory.h              | 340 +++++++++++++++++++++++
 cpukit/include/rtems/score/wkspace.h             |   9 +-
 cpukit/include/rtems/sysinit.h                   |   9 +-
 cpukit/libcsupport/src/malloc_initialize.c       |  57 ++--
 cpukit/libmisc/stackchk/check.c                  |   4 +-
 cpukit/score/src/memoryallocate.c                |  67 +++++
 cpukit/score/src/memorydirty.c                   |  48 ++++
 cpukit/score/src/smp.c                           |  45 +++
 cpukit/score/src/wkspace.c                       | 116 ++------
 testsuites/libtests/malloc04/init.c              |  32 +--
 testsuites/smptests/smpfatal09/init.c            |  33 ++-
 testsuites/sptests/spfatal09/init.c              |  34 ++-
 testsuites/sptests/spfatal12/init.c              |  30 +-
 testsuites/sptests/spsysinit01/init.c            |  12 +-
 93 files changed, 1107 insertions(+), 466 deletions(-)
 create mode 100644 cpukit/include/rtems/score/memory.h
 create mode 100644 cpukit/score/src/memoryallocate.c
 create mode 100644 cpukit/score/src/memorydirty.c

-- 
2.16.4



More information about the devel mailing list