4344e27c26
Update reserved function names starting with one underscore, replacing them as follows: '_k_' with 'z_' '_K_' with 'Z_' '_handler_' with 'z_handl_' '_Cstart' with 'z_cstart' '_Swap' with 'z_swap' This renaming is done on both global and those static function names in kernel/include and include/. Other static function names in kernel/ are renamed by removing the leading underscore. Other function names not starting with any prefix listed above are renamed starting with a 'z_' or 'Z_' prefix. Function names starting with two or three leading underscores are not automatcally renamed since these names will collide with the variants with two or three leading underscores. Various generator scripts have also been updated as well as perf, linker and usb files. These are drivers/serial/uart_handlers.c include/linker/kobject-text.ld kernel/include/syscall_handler.h scripts/gen_kobject_list.py scripts/gen_syscall_header.py Signed-off-by: Patrik Flykt <patrik.flykt@intel.com>
46 lines
1,023 B
C
46 lines
1,023 B
C
/*
|
|
* Copyright (c) 2018 Intel Corporation
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
/**
|
|
* @file
|
|
* @brief Thread entry
|
|
*
|
|
* This file provides the common thread entry function
|
|
*/
|
|
|
|
#include <kernel.h>
|
|
|
|
/*
|
|
* Common thread entry point function (used by all threads)
|
|
*
|
|
* This routine invokes the actual thread entry point function and passes
|
|
* it three arguments. It also handles graceful termination of the thread
|
|
* if the entry point function ever returns.
|
|
*
|
|
* This routine does not return, and is marked as such so the compiler won't
|
|
* generate preamble code that is only used by functions that actually return.
|
|
*/
|
|
FUNC_NORETURN void z_thread_entry(k_thread_entry_t entry,
|
|
void *p1, void *p2, void *p3)
|
|
{
|
|
entry(p1, p2, p3);
|
|
|
|
#ifdef CONFIG_MULTITHREADING
|
|
k_thread_abort(k_current_get());
|
|
#else
|
|
for (;;) {
|
|
k_cpu_idle();
|
|
}
|
|
#endif
|
|
|
|
/*
|
|
* Compiler can't tell that k_thread_abort() won't return and issues a
|
|
* warning unless we tell it that control never gets this far.
|
|
*/
|
|
|
|
CODE_UNREACHABLE;
|
|
}
|