From c7f33a7759639074aeafd8e807be7ce92616e62c Mon Sep 17 00:00:00 2001 From: Andrew Boie Date: Sun, 26 Apr 2020 14:55:27 -0700 Subject: [PATCH] tests: thread_stack: show carveout, unused space Currently for informational purposes, although we do check that the carveout is smaller than the stack_size. Signed-off-by: Andrew Boie --- tests/kernel/threads/thread_stack/src/main.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/tests/kernel/threads/thread_stack/src/main.c b/tests/kernel/threads/thread_stack/src/main.c index 41c30cbed24..52262d335bf 100644 --- a/tests/kernel/threads/thread_stack/src/main.c +++ b/tests/kernel/threads/thread_stack/src/main.c @@ -60,7 +60,7 @@ static inline int z_vrfy_check_perms(void *addr, size_t size, int write) void stack_buffer_scenarios(k_thread_stack_t *stack_obj, size_t obj_size) { - size_t stack_size, unused; + size_t stack_size, unused, carveout; uint8_t val; char *stack_start, *stack_ptr, *stack_end, *obj_start, *obj_end; volatile char *pos; @@ -148,12 +148,12 @@ void stack_buffer_scenarios(k_thread_stack_t *stack_obj, size_t obj_size) stack_size); } #endif - - /* This API is being removed just whine about it for now */ - if (Z_THREAD_STACK_BUFFER(stack_obj) != stack_start) { - printk("WARNING: Z_THREAD_STACK_BUFFER() reports %p\n", - Z_THREAD_STACK_BUFFER(stack_obj)); - } + carveout = stack_start - Z_THREAD_STACK_BUFFER(stack_obj); + printk(" - Carved-out space in buffer: %zu\n", carveout); + zassert_true(carveout < stack_size, + "Suspicious carve-out space reported"); + /* Generally 0 unless this is a stack array */ + printk(" - Unused object space: %zu\n", obj_end - stack_end); ret = k_thread_stack_space_get(k_current_get(), &unused); if (!is_usermode && IS_ENABLED(CONFIG_NO_UNUSED_STACK_INSPECTION)) {