summaryrefslogtreecommitdiff
path: root/test/build.mk
diff options
context:
space:
mode:
authorVadim Bendebury <vbendeb@chromium.org>2016-12-14 21:31:25 -0800
committerchrome-bot <chrome-bot@chromium.org>2017-01-05 21:13:09 -0800
commit32b064108a94fa163b5e9f9aef2b85615c68ee1d (patch)
treee5cd6fe1bf84f555d5aa32f7ab970eb9001f827e /test/build.mk
parent02d9c311ec93b3dc87f8c600b9f3653e3b13009a (diff)
downloadchrome-ec-32b064108a94fa163b5e9f9aef2b85615c68ee1d.tar.gz
common: introduce malloc/free implementation
The new code allows to replace the existing one buffer at a time shared memory facility with a malloc/free implementation. A new configuration option is being provided (CONFIG_MALLOC). The names of functions allocating and freeing memory are not being changed to allow to switch between the two implementations seamlessly. A double linked list of buffers is used to keep track of free and allocated memory. During initialization the entire free memory block is considered a single free buffer. No allocations/frees are allowed from within interrupts. The control structures are protected by a semaphore, so allocate and free invocation could be blocking. A test is added which randomly allocates and frees memory, continuing until all branches in the allocate and free functions are taken. BUG=chrome-os-partner: TEST=make buildall -j succeeds, which includes testing the new malloc/free implementation. Change-Id: I5e71c0190c6c247ec73bb459f66a6d7a06e3d248 Signed-off-by: Vadim Bendebury <vbendeb@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/420466 Reviewed-by: Randall Spangler <rspangler@chromium.org>
Diffstat (limited to 'test/build.mk')
-rw-r--r--test/build.mk2
1 files changed, 2 insertions, 0 deletions
diff --git a/test/build.mk b/test/build.mk
index f1083628fe..19fa51f5b0 100644
--- a/test/build.mk
+++ b/test/build.mk
@@ -66,6 +66,7 @@ test-list-host += rsa
test-list-host += rsa3
test-list-host += sbs_charging
test-list-host += sbs_charging_v2
+test-list-host += shmalloc
test-list-host += system
test-list-host += thermal
test-list-host += timer_dos
@@ -107,6 +108,7 @@ rsa-y=rsa.o
rsa3-y=rsa.o
sbs_charging-y=sbs_charging.o
sbs_charging_v2-y=sbs_charging_v2.o
+shmalloc-y=shmalloc.o
stress-y=stress.o
system-y=system.o
thermal-y=thermal.o