summaryrefslogtreecommitdiffstats
path: root/spec/build/bsps/powerpc
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2020-04-08 16:54:34 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2021-11-30 08:31:59 +0100
commit3d0620b607ff6459fec9d30efc1e0589bbd010f9 (patch)
tree255b331da96bd2441464debdebdd6860c88af02e /spec/build/bsps/powerpc
parentbuild: Use common objects item for get memory (diff)
downloadrtems-3d0620b607ff6459fec9d30efc1e0589bbd010f9.tar.bz2
score: Optimize Workspace Handler initialization
The BSPs provide memory for the workspace initialization via _Memory_Get(). Most BSPs provide exactly one memory area. Only two BSPs provide more than one memory area (arm/altera-cyclone-v and bsps/powerpc/mpc55xxevb). Only if more than one memory area is provided, there is a need to use _Heap_Extend(). Provide two implementations to initialize the workspace handler and let the BSP select one of the implementations based on the number of provided memory areas. This gets rid of a dependency on _Heap_Extend(). It also avoids dead code sections for most BSPs.
Diffstat (limited to 'spec/build/bsps/powerpc')
-rw-r--r--spec/build/bsps/powerpc/mpc55xxevb/obj.yml1
-rw-r--r--spec/build/bsps/powerpc/objmem.yml1
-rw-r--r--spec/build/bsps/powerpc/qoriq/obj.yml1
-rw-r--r--spec/build/bsps/powerpc/tqm8xx/obj.yml1
4 files changed, 4 insertions, 0 deletions
diff --git a/spec/build/bsps/powerpc/mpc55xxevb/obj.yml b/spec/build/bsps/powerpc/mpc55xxevb/obj.yml
index 07d73a41ba..1325473d86 100644
--- a/spec/build/bsps/powerpc/mpc55xxevb/obj.yml
+++ b/spec/build/bsps/powerpc/mpc55xxevb/obj.yml
@@ -95,4 +95,5 @@ source:
- bsps/shared/start/bspfatal-default.c
- bsps/shared/start/gettargethash-default.c
- bsps/shared/start/stackalloc.c
+- bsps/shared/start/wkspaceinitmulti.c
type: build
diff --git a/spec/build/bsps/powerpc/objmem.yml b/spec/build/bsps/powerpc/objmem.yml
index 9e5ae758ad..1fbb8b4fb0 100644
--- a/spec/build/bsps/powerpc/objmem.yml
+++ b/spec/build/bsps/powerpc/objmem.yml
@@ -11,4 +11,5 @@ install: []
links: []
source:
- bsps/powerpc/shared/start/bspgetworkarea.c
+- bsps/shared/start/wkspaceinitone.c
type: build
diff --git a/spec/build/bsps/powerpc/qoriq/obj.yml b/spec/build/bsps/powerpc/qoriq/obj.yml
index 125be9252d..c3222125e8 100644
--- a/spec/build/bsps/powerpc/qoriq/obj.yml
+++ b/spec/build/bsps/powerpc/qoriq/obj.yml
@@ -73,4 +73,5 @@ source:
- bsps/shared/start/bspfatal-default.c
- bsps/shared/start/gettargethash-default.c
- bsps/shared/start/sbrk.c
+- bsps/shared/start/wkspaceinitone.c
type: build
diff --git a/spec/build/bsps/powerpc/tqm8xx/obj.yml b/spec/build/bsps/powerpc/tqm8xx/obj.yml
index 4dff6f07da..7aec916350 100644
--- a/spec/build/bsps/powerpc/tqm8xx/obj.yml
+++ b/spec/build/bsps/powerpc/tqm8xx/obj.yml
@@ -47,4 +47,5 @@ source:
- bsps/shared/start/bspreset-empty.c
- bsps/shared/start/gettargethash-default.c
- bsps/shared/start/sbrk.c
+- bsps/shared/start/wkspaceinitone.c
type: build