kernel: remove all remaining references to nanokernel
Change-Id: I43067508898bc092879f7fe9d656ccca6fd92ab2 Signed-off-by: Anas Nashif <anas.nashif@intel.com>
This commit is contained in:
parent
d7bc60f096
commit
b84dc2e124
27 changed files with 37 additions and 53 deletions
|
@ -9,7 +9,7 @@
|
||||||
* @brief System/hardware module for STM32F3 processor
|
* @brief System/hardware module for STM32F3 processor
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <nanokernel.h>
|
#include <kernel.h>
|
||||||
#include <device.h>
|
#include <device.h>
|
||||||
#include <init.h>
|
#include <init.h>
|
||||||
#include <soc.h>
|
#include <soc.h>
|
||||||
|
|
|
@ -9,11 +9,11 @@
|
||||||
/*
|
/*
|
||||||
* In RISC-V there is no conventional way to handle CPU power save.
|
* In RISC-V there is no conventional way to handle CPU power save.
|
||||||
* Each RISC-V SOC handles it in its own way.
|
* Each RISC-V SOC handles it in its own way.
|
||||||
* Hence, by default, nano_cpu_idle and nano_cpu_atomic_idle functions just
|
* Hence, by default, k_cpu_idle and k_cpu_atomic_idle functions just
|
||||||
* unlock interrupts and return to the caller, without issuing any CPU power
|
* unlock interrupts and return to the caller, without issuing any CPU power
|
||||||
* saving instruction.
|
* saving instruction.
|
||||||
*
|
*
|
||||||
* Nonetheless, define the default nano_cpu_idle and nano_cpu_atomic_idle
|
* Nonetheless, define the default k_cpu_idle and k_cpu_atomic_idle
|
||||||
* functions as weak functions, so that they can be replaced at the SOC-level.
|
* functions as weak functions, so that they can be replaced at the SOC-level.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -36,10 +36,6 @@ void __weak k_cpu_idle(void)
|
||||||
*
|
*
|
||||||
* @brief Atomically re-enable interrupts and enter low power mode
|
* @brief Atomically re-enable interrupts and enter low power mode
|
||||||
*
|
*
|
||||||
* This function is utilized by the nanokernel object "wait" APIs for tasks,
|
|
||||||
* e.g. nano_task_lifo_get(), nano_task_sem_take(),
|
|
||||||
* nano_task_stack_pop(), and nano_task_fifo_get().
|
|
||||||
*
|
|
||||||
* INTERNAL
|
* INTERNAL
|
||||||
* The requirements for k_cpu_atomic_idle() are as follows:
|
* The requirements for k_cpu_atomic_idle() are as follows:
|
||||||
* 1) The enablement of interrupts and entering a low-power mode needs to be
|
* 1) The enablement of interrupts and entering a low-power mode needs to be
|
||||||
|
|
|
@ -4,8 +4,7 @@
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <nanokernel.h>
|
#include <kernel.h>
|
||||||
#include <arch/cpu.h>
|
|
||||||
#include <kernel_structs.h>
|
#include <kernel_structs.h>
|
||||||
#include <inttypes.h>
|
#include <inttypes.h>
|
||||||
|
|
||||||
|
@ -50,7 +49,7 @@ const NANO_ESF _default_esf = {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @brief Nanokernel fatal error handler
|
* @brief Fatal error handler
|
||||||
*
|
*
|
||||||
* This routine is called when a fatal error condition is detected by either
|
* This routine is called when a fatal error condition is detected by either
|
||||||
* hardware or software.
|
* hardware or software.
|
||||||
|
|
|
@ -22,8 +22,8 @@ extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef _ASMLANGUAGE
|
#ifndef _ASMLANGUAGE
|
||||||
void nano_cpu_idle(void);
|
void k_cpu_idle(void);
|
||||||
void nano_cpu_atomic_idle(unsigned int key);
|
void k_cpu_atomic_idle(unsigned int key);
|
||||||
|
|
||||||
static ALWAYS_INLINE void nanoArchInit(void)
|
static ALWAYS_INLINE void nanoArchInit(void)
|
||||||
{
|
{
|
||||||
|
|
|
@ -2,7 +2,7 @@ ccflags-y += -I$(srctree)/kernel/unified/include
|
||||||
asflags-y += -I$(srctree)/kernel/unified/include --longcalls
|
asflags-y += -I$(srctree)/kernel/unified/include --longcalls
|
||||||
|
|
||||||
ifdef CONFIG_ATOMIC_OPERATIONS_C
|
ifdef CONFIG_ATOMIC_OPERATIONS_C
|
||||||
# Use C routines from kernel/nanokernel/atomic.c
|
# Use C routines from kernel/atomic_c.c
|
||||||
obj-atomic=
|
obj-atomic=
|
||||||
else
|
else
|
||||||
# Use our own routines implmented in assembly
|
# Use our own routines implmented in assembly
|
||||||
|
|
|
@ -26,7 +26,7 @@ void k_cpu_idle(void)
|
||||||
*
|
*
|
||||||
* This function exits with interrupts restored to <key>.
|
* This function exits with interrupts restored to <key>.
|
||||||
*
|
*
|
||||||
* void nano_cpu_atomic_idle(unsigned int key)
|
* void k_cpu_atomic_idle(unsigned int key)
|
||||||
*/
|
*/
|
||||||
void k_cpu_atomic_idle(unsigned int key)
|
void k_cpu_atomic_idle(unsigned int key)
|
||||||
{
|
{
|
||||||
|
|
|
@ -28,7 +28,7 @@ const NANO_ESF _default_esf = {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @brief Nanokernel fatal error handler
|
* @brief Fatal error handler
|
||||||
*
|
*
|
||||||
* This routine is called when fatal error conditions are detected by software
|
* This routine is called when fatal error conditions are detected by software
|
||||||
* and is responsible only for reporting the error. Once reported, it then
|
* and is responsible only for reporting the error. Once reported, it then
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <nanokernel.h>
|
#include <kernel.h>
|
||||||
#include <irq_offload.h>
|
#include <irq_offload.h>
|
||||||
#include <arch/xtensa/arch.h>
|
#include <arch/xtensa/arch.h>
|
||||||
#include <xtensa_api.h>
|
#include <xtensa_api.h>
|
||||||
|
|
|
@ -9,11 +9,11 @@
|
||||||
* @brief Xtensa kernel structure member offset definition file
|
* @brief Xtensa kernel structure member offset definition file
|
||||||
*
|
*
|
||||||
* This module is responsible for the generation of the absolute symbols whose
|
* This module is responsible for the generation of the absolute symbols whose
|
||||||
* value represents the member offsets for various Xtensa nanokernel
|
* value represents the member offsets for various Xtensa kernel
|
||||||
* structures.
|
* structures.
|
||||||
*
|
*
|
||||||
* All of the absolute symbols defined by this module will be present in the
|
* All of the absolute symbols defined by this module will be present in the
|
||||||
* final kernel or nanokernel ELF image (due to the linker's reference to
|
* final kernel or kernel ELF image (due to the linker's reference to
|
||||||
* the _OffsetAbsSyms symbol).
|
* the _OffsetAbsSyms symbol).
|
||||||
*
|
*
|
||||||
* INTERNAL
|
* INTERNAL
|
||||||
|
|
|
@ -198,7 +198,7 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_SYS_POWER_MANAGEMENT
|
#ifdef CONFIG_SYS_POWER_MANAGEMENT
|
||||||
#if defined(CONFIG_NANOKERNEL) && defined(CONFIG_TICKLESS_IDLE)
|
#if defined(CONFIG_TICKLESS_IDLE)
|
||||||
call0 _power_save_idle_exit
|
call0 _power_save_idle_exit
|
||||||
#else
|
#else
|
||||||
movi a3, _kernel
|
movi a3, _kernel
|
||||||
|
@ -218,7 +218,7 @@
|
||||||
call4 _sys_power_save_idle_exit
|
call4 _sys_power_save_idle_exit
|
||||||
#endif /* __XTENSA_CALL0_ABI__ */
|
#endif /* __XTENSA_CALL0_ABI__ */
|
||||||
10:
|
10:
|
||||||
#endif /* defined(CONFIG_NANOKERNEL) && defined(CONFIG_TICKLESS_IDLE) */
|
#endif /* defined(CONFIG_TICKLESS_IDLE) */
|
||||||
#endif /* CONFIG_SYS_POWER_MANAGEMENT */
|
#endif /* CONFIG_SYS_POWER_MANAGEMENT */
|
||||||
|
|
||||||
/* Now look up in the dispatch table and call user ISR if any. */
|
/* Now look up in the dispatch table and call user ISR if any. */
|
||||||
|
|
|
@ -31,7 +31,7 @@ extern void _xt_coproc_init(void);
|
||||||
* @brief Performs architecture-specific initialization
|
* @brief Performs architecture-specific initialization
|
||||||
*
|
*
|
||||||
* This routine performs architecture-specific initialization of the
|
* This routine performs architecture-specific initialization of the
|
||||||
* nanokernel. Trivial stuff is done inline; more complex initialization is
|
* kernel. Trivial stuff is done inline; more complex initialization is
|
||||||
* done via function calls.
|
* done via function calls.
|
||||||
*
|
*
|
||||||
* @return N/A
|
* @return N/A
|
||||||
|
@ -66,7 +66,7 @@ _set_thread_return_value(struct k_thread *thread, unsigned int value)
|
||||||
thread->callee_saved.retval = value;
|
thread->callee_saved.retval = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
extern void nano_cpu_atomic_idle(unsigned int imask);
|
extern void k_cpu_atomic_idle(unsigned int imask);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Required by the core kernel even though we don't have to do anything on this
|
* Required by the core kernel even though we don't have to do anything on this
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <nanokernel.h>
|
#include <kernel.h>
|
||||||
#include <device.h>
|
#include <device.h>
|
||||||
#include <init.h>
|
#include <init.h>
|
||||||
#include <pinmux.h>
|
#include <pinmux.h>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <nanokernel.h>
|
#include <kernel.h>
|
||||||
#include <device.h>
|
#include <device.h>
|
||||||
#include <init.h>
|
#include <init.h>
|
||||||
#include <pinmux.h>
|
#include <pinmux.h>
|
||||||
|
|
|
@ -3,8 +3,8 @@
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <kernel.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <nanokernel.h>
|
|
||||||
#include <system_timer.h>
|
#include <system_timer.h>
|
||||||
#include <xtensa_rtos.h>
|
#include <xtensa_rtos.h>
|
||||||
|
|
||||||
|
|
|
@ -260,7 +260,7 @@ extern void _arch_isr_direct_footer(int maybe_swap);
|
||||||
static inline int name##_body(void)
|
static inline int name##_body(void)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Nanokernel Exception Stack Frame
|
* @brief Exception Stack Frame
|
||||||
*
|
*
|
||||||
* A pointer to an "exception stack frame" (ESF) is passed as an argument
|
* A pointer to an "exception stack frame" (ESF) is passed as an argument
|
||||||
* to exception handlers registered via nanoCpuExcConnect(). As the system
|
* to exception handlers registered via nanoCpuExcConnect(). As the system
|
||||||
|
@ -288,7 +288,7 @@ typedef struct nanoEsf {
|
||||||
} NANO_ESF;
|
} NANO_ESF;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Nanokernel "interrupt stack frame" (ISF)
|
* @brief "interrupt stack frame" (ISF)
|
||||||
*
|
*
|
||||||
* An "interrupt stack frame" (ISF) as constructed by the processor and the
|
* An "interrupt stack frame" (ISF) as constructed by the processor and the
|
||||||
* interrupt wrapper function _interrupt_enter(). As the system always
|
* interrupt wrapper function _interrupt_enter(). As the system always
|
||||||
|
@ -491,7 +491,7 @@ extern void k_cpu_idle(void);
|
||||||
extern uint32_t _timer_cycle_get_32(void);
|
extern uint32_t _timer_cycle_get_32(void);
|
||||||
#define _arch_k_cycle_get_32() _timer_cycle_get_32()
|
#define _arch_k_cycle_get_32() _timer_cycle_get_32()
|
||||||
|
|
||||||
/** Nanokernel provided routine to report any detected fatal error. */
|
/** kernel provided routine to report any detected fatal error. */
|
||||||
extern FUNC_NORETURN void _NanoFatalErrorHandler(unsigned int reason,
|
extern FUNC_NORETURN void _NanoFatalErrorHandler(unsigned int reason,
|
||||||
const NANO_ESF * pEsf);
|
const NANO_ESF * pEsf);
|
||||||
/** User provided routine to handle any detected fatal error post reporting. */
|
/** User provided routine to handle any detected fatal error post reporting. */
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
* @file
|
* @file
|
||||||
* @brief Xtensa public exception handling
|
* @brief Xtensa public exception handling
|
||||||
*
|
*
|
||||||
* Xtensa-specific nanokernel exception handling interface. Included by
|
* Xtensa-specific kernel exception handling interface. Included by
|
||||||
* arch/xtensa/arch.h.
|
* arch/xtensa/arch.h.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -22,7 +22,7 @@ extern "C" {
|
||||||
#ifdef _ASMLANGUAGE
|
#ifdef _ASMLANGUAGE
|
||||||
#else
|
#else
|
||||||
/**
|
/**
|
||||||
* @brief Nanokernel Exception Stack Frame
|
* @brief Exception Stack Frame
|
||||||
*
|
*
|
||||||
* A pointer to an "exception stack frame" (ESF) is passed as an argument
|
* A pointer to an "exception stack frame" (ESF) is passed as an argument
|
||||||
* to exception handlers registered via nanoCpuExcConnect().
|
* to exception handlers registered via nanoCpuExcConnect().
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
Title: Nanokernel Object Footprint Measurement
|
Title: Object Footprint Measurement
|
||||||
|
|
||||||
Description:
|
Description:
|
||||||
This sample builds multiple kernels with different configurations
|
This sample builds multiple kernels with different configurations
|
||||||
|
|
|
@ -11,7 +11,6 @@
|
||||||
/*
|
/*
|
||||||
* @file
|
* @file
|
||||||
* @brief Hello World demo
|
* @brief Hello World demo
|
||||||
* Nanokernel version of hello world demo
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,6 @@
|
||||||
/*
|
/*
|
||||||
* @file
|
* @file
|
||||||
* @brief Hello World demo
|
* @brief Hello World demo
|
||||||
* Nanokernel version of hello world demo
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,6 @@
|
||||||
/*
|
/*
|
||||||
* @file
|
* @file
|
||||||
* @brief Hello World demo
|
* @brief Hello World demo
|
||||||
* Nanokernel version of hello world demo
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,6 @@
|
||||||
/*
|
/*
|
||||||
* @file
|
* @file
|
||||||
* @brief Hello World demo
|
* @brief Hello World demo
|
||||||
* Nanokernel version of hello world demo
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -270,7 +270,7 @@ void load_store_high(void)
|
||||||
*
|
*
|
||||||
* The initial byte value, and thus the contents of the entire
|
* The initial byte value, and thus the contents of the entire
|
||||||
* float_reg_set structure, must be different for each
|
* float_reg_set structure, must be different for each
|
||||||
* thread to effectively test the nanokernel's ability to
|
* thread to effectively test the kernel's ability to
|
||||||
* properly save/restore the floating point values during a
|
* properly save/restore the floating point values during a
|
||||||
* context switch.
|
* context switch.
|
||||||
*/
|
*/
|
||||||
|
@ -289,10 +289,10 @@ void load_store_high(void)
|
||||||
* The goal of the loading all floating point registers with
|
* The goal of the loading all floating point registers with
|
||||||
* values that differ from the values used in other threads is
|
* values that differ from the values used in other threads is
|
||||||
* to help determine whether the floating point register
|
* to help determine whether the floating point register
|
||||||
* save/restore mechanism in the nanokernel's context switcher
|
* save/restore mechanism in the kernel's context switcher
|
||||||
* is operating correctly.
|
* is operating correctly.
|
||||||
*
|
*
|
||||||
* When a subsequent nano_fiber_timer_test() invocation is
|
* When a subsequent k_timer_test() invocation is
|
||||||
* performed, a (cooperative) context switch back to the
|
* performed, a (cooperative) context switch back to the
|
||||||
* preempted task will occur. This context switch should result
|
* preempted task will occur. This context switch should result
|
||||||
* in restoring the state of the task's floating point
|
* in restoring the state of the task's floating point
|
||||||
|
@ -307,9 +307,9 @@ void load_store_high(void)
|
||||||
* system clock tick, so that lower priority threads get a
|
* system clock tick, so that lower priority threads get a
|
||||||
* chance to run.
|
* chance to run.
|
||||||
*
|
*
|
||||||
* This exercises the ability of the nanokernel to restore the
|
* This exercises the ability of the kernel to restore the
|
||||||
* FPU state of a low priority thread _and_ the ability of the
|
* FPU state of a low priority thread _and_ the ability of the
|
||||||
* nanokernel to provide a "clean" FPU state to this thread
|
* kernel to provide a "clean" FPU state to this thread
|
||||||
* once the sleep ends.
|
* once the sleep ends.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
|
@ -128,9 +128,9 @@ void calculate_pi_high(void)
|
||||||
* system clock tick, so that lower priority threads get a
|
* system clock tick, so that lower priority threads get a
|
||||||
* chance to run.
|
* chance to run.
|
||||||
*
|
*
|
||||||
* This exercises the ability of the nanokernel to restore the
|
* This exercises the ability of the kernel to restore the
|
||||||
* FPU state of a low priority thread _and_ the ability of the
|
* FPU state of a low priority thread _and_ the ability of the
|
||||||
* nanokernel to provide a "clean" FPU state to this thread
|
* kernel to provide a "clean" FPU state to this thread
|
||||||
* once the sleep ends.
|
* once the sleep ends.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
|
@ -9,10 +9,10 @@ intended.
|
||||||
|
|
||||||
Building and Running Project:
|
Building and Running Project:
|
||||||
|
|
||||||
This nanokernel project outputs to the console. It can be built and executed
|
This project outputs to the console. It can be built and executed
|
||||||
on QEMU as follows:
|
on QEMU as follows:
|
||||||
|
|
||||||
make qemu
|
make run
|
||||||
|
|
||||||
---------------------------------------------------------------------------
|
---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
|
@ -18,12 +18,6 @@ char __stack phil_stack[N_PHILOSOPHERS][STSIZE];
|
||||||
char __stack mon_stack[STSIZE];
|
char __stack mon_stack[STSIZE];
|
||||||
struct k_sem forks[N_PHILOSOPHERS];
|
struct k_sem forks[N_PHILOSOPHERS];
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @brief Nanokernel entry point
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
int main(void)
|
int main(void)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
|
@ -8,10 +8,10 @@ A simple application verifying the workqueue API
|
||||||
|
|
||||||
Building and Running Project:
|
Building and Running Project:
|
||||||
|
|
||||||
This nanokernel project outputs to the console. It can be built and executed
|
This kernel project outputs to the console. It can be built and executed
|
||||||
on QEMU as follows:
|
on QEMU as follows:
|
||||||
|
|
||||||
make qemu
|
make run
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,6 @@
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
|
|
||||||
#include <zephyr.h>
|
#include <zephyr.h>
|
||||||
#include <nanokernel.h>
|
|
||||||
#include <tc_util.h>
|
#include <tc_util.h>
|
||||||
#include <misc/util.h>
|
#include <misc/util.h>
|
||||||
#include <misc/nano_work.h>
|
#include <misc/nano_work.h>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue