From 669360d5ec4ad95713eeb31959980f0c02c3d18e Mon Sep 17 00:00:00 2001 From: Benjamin Walsh Date: Mon, 14 Nov 2016 16:46:14 -0500 Subject: [PATCH] kernel: fix thread prio and stack size types in some APIs Prio should be an int, since values are small integers, not a fixed-size int32_t. It aligns with the prio parameters of the other APIs. Stack size should be size_t. Change-Id: Id29751b86c4ad7a7c2a7ffe446c2a96ae83c77bf Signed-off-by: Benjamin Walsh --- arch/arc/core/thread.c | 2 +- arch/arm/core/thread.c | 2 +- arch/nios2/core/thread.c | 2 +- arch/x86/core/thread.c | 2 +- include/kernel.h | 6 +++--- kernel/unified/include/nano_internal.h | 2 +- kernel/unified/thread.c | 4 ++-- kernel/unified/work_q.c | 2 +- 8 files changed, 11 insertions(+), 11 deletions(-) diff --git a/arch/arc/core/thread.c b/arch/arc/core/thread.c index 9480be9eea0..196a619f3bc 100644 --- a/arch/arc/core/thread.c +++ b/arch/arc/core/thread.c @@ -84,7 +84,7 @@ static ALWAYS_INLINE void thread_monitor_init(struct k_thread *thread) * * @return N/A */ -void _new_thread(char *pStackMem, unsigned stackSize, +void _new_thread(char *pStackMem, size_t stackSize, void *uk_task_ptr, _thread_entry_t pEntry, void *parameter1, void *parameter2, void *parameter3, int priority, unsigned options) diff --git a/arch/arm/core/thread.c b/arch/arm/core/thread.c index 6d56edfcd63..2599904d6ac 100644 --- a/arch/arm/core/thread.c +++ b/arch/arm/core/thread.c @@ -80,7 +80,7 @@ static ALWAYS_INLINE void thread_monitor_init(struct tcs *tcs) * @return N/A */ -void _new_thread(char *pStackMem, unsigned stackSize, +void _new_thread(char *pStackMem, size_t stackSize, void *uk_task_ptr, _thread_entry_t pEntry, void *parameter1, void *parameter2, void *parameter3, int priority, unsigned options) diff --git a/arch/nios2/core/thread.c b/arch/nios2/core/thread.c index b76797cc1ad..5de3ec8e797 100644 --- a/arch/nios2/core/thread.c +++ b/arch/nios2/core/thread.c @@ -60,7 +60,7 @@ struct init_stack_frame { }; -void _new_thread(char *stack_memory, unsigned stack_size, +void _new_thread(char *stack_memory, size_t stack_size, void *uk_task_ptr, _thread_entry_t thread_func, void *arg1, void *arg2, void *arg3, int priority, unsigned options) diff --git a/arch/x86/core/thread.c b/arch/x86/core/thread.c index 2ab1b412693..430423135ac 100644 --- a/arch/x86/core/thread.c +++ b/arch/x86/core/thread.c @@ -245,7 +245,7 @@ __asm__("\t.globl _thread_entry\n" * * @return opaque pointer to initialized k_thread structure */ -void _new_thread(char *pStackMem, unsigned stackSize, +void _new_thread(char *pStackMem, size_t stackSize, void *uk_task_ptr, _thread_entry_t pEntry, void *parameter1, void *parameter2, void *parameter3, int priority, unsigned options) diff --git a/include/kernel.h b/include/kernel.h index 715f6acc803..e5c1115037b 100644 --- a/include/kernel.h +++ b/include/kernel.h @@ -152,10 +152,10 @@ typedef void (*k_thread_entry_t)(void *p1, void *p2, void *p3); * * @return ID of new thread. */ -extern k_tid_t k_thread_spawn(char *stack, unsigned stack_size, +extern k_tid_t k_thread_spawn(char *stack, size_t stack_size, k_thread_entry_t entry, void *p1, void *p2, void *p3, - int32_t prio, uint32_t options, int32_t delay); + int prio, uint32_t options, int32_t delay); /** * @brief Put the current thread to sleep. @@ -1391,7 +1391,7 @@ static inline int k_work_pending(struct k_work *work) * @return N/A */ extern void k_work_q_start(struct k_work_q *work_q, char *stack, - unsigned stack_size, unsigned prio); + size_t stack_size, int prio); /** * @brief Initialize a delayed work item. diff --git a/kernel/unified/include/nano_internal.h b/kernel/unified/include/nano_internal.h index 344f085981b..f122b3fb9cb 100644 --- a/kernel/unified/include/nano_internal.h +++ b/kernel/unified/include/nano_internal.h @@ -54,7 +54,7 @@ typedef void (*_thread_entry_t)(void *, void *, void *); extern void _thread_entry(void (*)(void *, void *, void *), void *, void *, void *); -extern void _new_thread(char *pStack, unsigned stackSize, +extern void _new_thread(char *pStack, size_t stackSize, void *uk_task_ptr, void (*pEntry)(void *, void *, void *), void *p1, void *p2, void *p3, diff --git a/kernel/unified/thread.c b/kernel/unified/thread.c index 9a6816568fc..0ca06e3b1ee 100644 --- a/kernel/unified/thread.c +++ b/kernel/unified/thread.c @@ -230,10 +230,10 @@ static void schedule_new_thread(struct k_thread *thread, int32_t delay) #endif } -k_tid_t k_thread_spawn(char *stack, unsigned stack_size, +k_tid_t k_thread_spawn(char *stack, size_t stack_size, void (*entry)(void *, void *, void*), void *p1, void *p2, void *p3, - int32_t prio, uint32_t options, int32_t delay) + int prio, uint32_t options, int32_t delay) { __ASSERT(!_is_in_isr(), ""); diff --git a/kernel/unified/work_q.c b/kernel/unified/work_q.c index a15535f38a0..92262839091 100644 --- a/kernel/unified/work_q.c +++ b/kernel/unified/work_q.c @@ -54,7 +54,7 @@ static void work_q_main(void *work_q_ptr, void *p2, void *p3) } void k_work_q_start(struct k_work_q *work_q, char *stack, - unsigned stack_size, unsigned prio) + size_t stack_size, int prio) { k_fifo_init(&work_q->fifo);