[PATCH v2 00/10] Rework work area initialization
Sebastian Huber
sebastian.huber at embedded-brains.de
Sun Feb 2 13:28:25 UTC 2020
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.
Currently, the workspace is always used, however, this may change in a follow up
change set.
v2:
Add a CONFIGURE_VERBOSE_INITIALIZATION as a replacement for the removed BSP_GET_WORK_AREA_DEBUG. Example output:
sysinit: begin
sysinit: stack pointer: 0x00200bb8
sysinit: memory area 0: begin = 0x00205348, size = 0x0f9f6cb8
sysinit: DIRTY_MEMORY: done
sysinit: ISR_STACK: done
sysinit: memory area 0: free begin = 0x00205348, free size = 0x0f9f6cb8
sysinit: PER_CPU_DATA: done
sysinit: memory area 0: free begin = 0x0020a94a, free size = 0x0f9f16b6
sysinit: WORKSPACE: done
sysinit: memory area 0: free begin = 0x0fbfc000, free size = 0x00000000
sysinit: MALLOC: done
*** BEGIN OF TEST SPSYSINIT 1 ***
*** TEST VERSION: 5.0.0.4f94d279bfdad4e941bda1b3ea81d189e58a4866-modified
*** TEST STATE: EXPECTED_PASS
*** TEST BUILD: RTEMS_DEBUG RTEMS_POSIX_API RTEMS_SMP
*** TEST TOOLS: 7.5.0 20191114 (RTEMS 5, RSB 5 (599c4d7c87fa), Newlib d14714c69)
sysinit: BSP_START: done
sysinit: CPU_COUNTER: done
sysinit: INITIAL_EXTENSIONS: done
sysinit: DATA_STRUCTURES: done
sysinit: USER_EXTENSIONS: done
sysinit: CLASSIC_TASKS: done
sysinit: CLASSIC_TIMER: done
sysinit: CLASSIC_MESSAGE_QUEUE: done
sysinit: CLASSIC_SEMAPHORE: done
sysinit: CLASSIC_PARTITION: done
sysinit: CLASSIC_REGION: done
sysinit: CLASSIC_DUAL_PORTED_MEMORY: done
sysinit: CLASSIC_RATE_MONOTONIC: done
sysinit: CLASSIC_BARRIER: done
sysinit: POSIX_SIGNALS: done
sysinit: POSIX_THREADS: done
sysinit: POSIX_MESSAGE_QUEUE: done
sysinit: POSIX_SEMAPHORE: done
sysinit: POSIX_TIMER: done
sysinit: POSIX_SHM: done
sysinit: POSIX_KEYS: done
sysinit: POSIX_CLEANUP: done
sysinit: IDLE_THREADS: done
sysinit: LIBIO: done
sysinit: ROOT_FILESYSTEM: done
sysinit: BSP_PRE_DRIVERS: done
sysinit: DEVICE_DRIVERS: done
sysinit: CLASSIC_USER_TASKS: done
sysinit: POSIX_USER_THREADS: done
sysinit: STD_FILE_DESCRIPTORS: done
sysinit: done
*** END OF TEST SPSYSINIT 1 ***
Sebastian Huber (10):
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
sysinit: Add RTEMS_SYSINIT_ORDER_LAST_BUT_[1-9]
Use RTEMS_SYSINIT_ORDER_LAST_BUT_5
config: Add CONFIGURE_VERBOSE_INITIALIZATION
bsps/arm/altera-cyclone-v/start/bspgetworkarea.c | 87 ++--
bsps/arm/atsam/console/debug-console.c | 2 +-
.../contrib/libraries/libchip/source/pio_it.c | 2 +-
.../atsam/contrib/libraries/libchip/source/xdmad.c | 2 +-
bsps/arm/atsam/start/getentropy-trng.c | 2 +-
bsps/arm/beagle/start/bspstart.c | 2 +-
bsps/arm/gdbarmsim/include/bsp.h | 2 -
bsps/arm/imx/console/console-config.c | 2 +-
bsps/arm/imx/start/bspstarthooks.c | 28 +-
bsps/arm/raspberrypi/console/console-config.c | 2 +-
bsps/arm/raspberrypi/start/bspstarthooks.c | 30 +-
bsps/arm/shared/start/linkcmds.base | 1 +
bsps/arm/tms570/console/printk-support.c | 2 +-
bsps/arm/xilinx-zynq/console/debug-console.c | 2 +-
bsps/arm/xilinx-zynqmp/console/console-config.c | 2 +-
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/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/riscv/console/console-config.c | 2 +-
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/dev/getentropy/getentropy-cpucounter.c | 2 +-
bsps/shared/start/bootcard.c | 11 +-
bsps/shared/start/bspgetworkarea-default.c | 46 +-
bsps/sparc/erc32/start/bspsmp.c | 2 +-
bsps/sparc/leon3/start/bspstart.c | 2 +-
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 | 3 +
cpukit/headers.am | 1 +
cpukit/include/rtems/confdefs.h | 23 +-
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 | 48 +-
cpukit/libcsupport/src/malloc_initialize.c | 57 ++-
cpukit/libmisc/stackchk/check.c | 4 +-
cpukit/libtrace/record/record-sysinit.c | 2 +-
cpukit/sapi/src/cpucounterconverter.c | 2 +-
cpukit/sapi/src/exinit.c | 13 +
cpukit/sapi/src/sysinitverbose.c | 557 +++++++++++++++++++++
cpukit/score/src/memoryallocate.c | 67 +++
cpukit/score/src/memorydirty.c | 48 ++
cpukit/score/src/smp.c | 42 ++
cpukit/score/src/wkspace.c | 123 +----
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 | 36 +-
110 files changed, 1742 insertions(+), 502 deletions(-)
create mode 100644 cpukit/include/rtems/score/memory.h
create mode 100644 cpukit/sapi/src/sysinitverbose.c
create mode 100644 cpukit/score/src/memoryallocate.c
create mode 100644 cpukit/score/src/memorydirty.c
--
Sebastian Huber, embedded brains GmbH
Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail : sebastian.huber at embedded-brains.de
PGP : Public key available on request.
Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: v2-0001-score-Add-Memory-Handler.patch
Type: text/x-patch
Size: 12821 bytes
Desc: not available
URL: <http://lists.rtems.org/pipermail/devel/attachments/20200202/c84277ad/attachment-0010.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: v2-0002-score-Add-_Memory_Dirty.patch
Type: text/x-patch
Size: 4150 bytes
Desc: not available
URL: <http://lists.rtems.org/pipermail/devel/attachments/20200202/c84277ad/attachment-0011.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: v2-0003-bsps-Add-RamEnd-to-linker-command-files.patch
Type: text/x-patch
Size: 28364 bytes
Desc: not available
URL: <http://lists.rtems.org/pipermail/devel/attachments/20200202/c84277ad/attachment-0012.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: v2-0004-bsps-Add-RTEMS_SYSINIT_BSP_EARLY.patch
Type: text/x-patch
Size: 5653 bytes
Desc: not available
URL: <http://lists.rtems.org/pipermail/devel/attachments/20200202/c84277ad/attachment-0013.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: v2-0005-stackchk-Add-RTEMS_SYSINIT_ISR_STACK.patch
Type: text/x-patch
Size: 1508 bytes
Desc: not available
URL: <http://lists.rtems.org/pipermail/devel/attachments/20200202/c84277ad/attachment-0014.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: v2-0006-bsps-Remove-uses-of-BSP_GET_WORK_AREA_DEBUG.patch
Type: text/x-patch
Size: 3937 bytes
Desc: not available
URL: <http://lists.rtems.org/pipermail/devel/attachments/20200202/c84277ad/attachment-0015.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: v2-0007-bsps-Rework-work-area-initialization.patch
Type: text/x-patch
Size: 48355 bytes
Desc: not available
URL: <http://lists.rtems.org/pipermail/devel/attachments/20200202/c84277ad/attachment-0016.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: v2-0008-sysinit-Add-RTEMS_SYSINIT_ORDER_LAST_BUT_-1-9.patch
Type: text/x-patch
Size: 3146 bytes
Desc: not available
URL: <http://lists.rtems.org/pipermail/devel/attachments/20200202/c84277ad/attachment-0017.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: v2-0009-Use-RTEMS_SYSINIT_ORDER_LAST_BUT_5.patch
Type: text/x-patch
Size: 8788 bytes
Desc: not available
URL: <http://lists.rtems.org/pipermail/devel/attachments/20200202/c84277ad/attachment-0018.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: v2-0010-config-Add-CONFIGURE_VERBOSE_INITIALIZATION.patch
Type: text/x-patch
Size: 18444 bytes
Desc: not available
URL: <http://lists.rtems.org/pipermail/devel/attachments/20200202/c84277ad/attachment-0019.bin>
More information about the devel
mailing list