kernel: remove remaining microkernel references
Change-Id: Ie648dbaaf714316c21395bd43e555618013dbd19 Signed-off-by: Anas Nashif <anas.nashif@intel.com>
This commit is contained in:
parent
d8008533a9
commit
d7bc60f096
22 changed files with 39 additions and 83 deletions
|
@ -12,7 +12,7 @@
|
||||||
* @brief Power save idle routine
|
* @brief Power save idle routine
|
||||||
*
|
*
|
||||||
* This function will be called by the kernel idle loop or possibly within
|
* This function will be called by the kernel idle loop or possibly within
|
||||||
* an implementation of _sys_power_save_idle in the microkernel when the
|
* an implementation of _sys_power_save_idle in the kernel when the
|
||||||
* '_sys_power_save_flag' variable is non-zero.
|
* '_sys_power_save_flag' variable is non-zero.
|
||||||
*
|
*
|
||||||
* @return N/A
|
* @return N/A
|
||||||
|
|
|
@ -30,7 +30,7 @@ static ALWAYS_INLINE void pulpino_idle(unsigned int key)
|
||||||
* @brief Power save idle routine
|
* @brief Power save idle routine
|
||||||
*
|
*
|
||||||
* This function will be called by the kernel idle loop or possibly within
|
* This function will be called by the kernel idle loop or possibly within
|
||||||
* an implementation of _sys_power_save_idle in the microkernel when the
|
* an implementation of _sys_power_save_idle in the kernel when the
|
||||||
* '_sys_power_save_flag' variable is non-zero.
|
* '_sys_power_save_flag' variable is non-zero.
|
||||||
*
|
*
|
||||||
* @return N/A
|
* @return N/A
|
||||||
|
|
|
@ -27,7 +27,7 @@ static ALWAYS_INLINE void fe310_idle(unsigned int key)
|
||||||
* @brief Power save idle routine
|
* @brief Power save idle routine
|
||||||
*
|
*
|
||||||
* This function will be called by the kernel idle loop or possibly within
|
* This function will be called by the kernel idle loop or possibly within
|
||||||
* an implementation of _sys_power_save_idle in the microkernel when the
|
* an implementation of _sys_power_save_idle in the kernel when the
|
||||||
* '_sys_power_save_flag' variable is non-zero.
|
* '_sys_power_save_flag' variable is non-zero.
|
||||||
*
|
*
|
||||||
* @return N/A
|
* @return N/A
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
* This module provides an implementation of the architecture-specific
|
* This module provides an implementation of the architecture-specific
|
||||||
* k_cpu_idle() primitive required by the kernel idle loop component.
|
* k_cpu_idle() primitive required by the kernel idle loop component.
|
||||||
* It can be called within an implementation of _sys_power_save_idle(),
|
* It can be called within an implementation of _sys_power_save_idle(),
|
||||||
* which is provided for the microkernel by the platform.
|
* which is provided for the kernel by the platform.
|
||||||
*
|
*
|
||||||
* The module also provides an implementation of k_cpu_atomic_idle(), which
|
* The module also provides an implementation of k_cpu_atomic_idle(), which
|
||||||
* atomically re-enables interrupts and enters low power mode.
|
* atomically re-enables interrupts and enters low power mode.
|
||||||
|
@ -36,7 +36,7 @@ extern uint64_t __idle_tsc; /* timestamp when CPU went idle */
|
||||||
* @brief Power save idle routine for IA-32
|
* @brief Power save idle routine for IA-32
|
||||||
*
|
*
|
||||||
* This function will be called by the kernel idle loop or possibly within
|
* This function will be called by the kernel idle loop or possibly within
|
||||||
* an implementation of _sys_power_save_idle in the microkernel when the
|
* an implementation of _sys_power_save_idle in the kernel when the
|
||||||
* '_sys_power_save_flag' variable is non-zero. The IA-32 'hlt' instruction
|
* '_sys_power_save_flag' variable is non-zero. The IA-32 'hlt' instruction
|
||||||
* will be issued causing a low-power consumption sleep mode.
|
* will be issued causing a low-power consumption sleep mode.
|
||||||
*
|
*
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
* 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 microkernel or nanokernel ELF image (due to the linker's reference to
|
* final kernel or nanokernel ELF image (due to the linker's reference to
|
||||||
* the _OffsetAbsSyms symbol).
|
* the _OffsetAbsSyms symbol).
|
||||||
*
|
*
|
||||||
* INTERNAL
|
* INTERNAL
|
||||||
|
|
|
@ -14,9 +14,6 @@
|
||||||
#include <xtensa_config.h>
|
#include <xtensa_config.h>
|
||||||
|
|
||||||
extern void _xt_user_exit(void);
|
extern void _xt_user_exit(void);
|
||||||
#if CONFIG_MICROKERNEL
|
|
||||||
extern FUNC_NORETURN void _TaskAbort(void);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(CONFIG_THREAD_MONITOR)
|
#if defined(CONFIG_THREAD_MONITOR)
|
||||||
#define THREAD_MONITOR_INIT(thread) _thread_monitor_init(thread)
|
#define THREAD_MONITOR_INIT(thread) _thread_monitor_init(thread)
|
||||||
|
|
|
@ -1,37 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (c) 2016 Cadence Design Systems, Inc.
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @file
|
|
||||||
* @brief XTENSA nanokernel declarations to start a task
|
|
||||||
*
|
|
||||||
* XTENSA-specific parts of start_task().
|
|
||||||
*
|
|
||||||
* Currently empty, only here for abstraction.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _START_TASK_ARCH__H_
|
|
||||||
#define _START_TASK_ARCH__H_
|
|
||||||
|
|
||||||
#include <toolchain.h>
|
|
||||||
#include <sections.h>
|
|
||||||
|
|
||||||
#include <micro_private.h>
|
|
||||||
#include <kernel_structs.h>
|
|
||||||
#include <microkernel/task.h>
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define _START_TASK_ARCH(task, opt_ptr) \
|
|
||||||
do {/* nothing */ \
|
|
||||||
} while ((0))
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* _START_TASK_ARCH__H_ */
|
|
|
@ -190,7 +190,7 @@ void _timer_idle_exit(void)
|
||||||
C = GET_TIMER_CURRENT_TIME();
|
C = GET_TIMER_CURRENT_TIME();
|
||||||
r = F - C;
|
r = F - C;
|
||||||
/*
|
/*
|
||||||
* Announce elapsed ticks to the microkernel. Note we are guaranteed
|
* Announce elapsed ticks to the kernel. Note we are guaranteed
|
||||||
* that the timer ISR will execute before the tick event is serviced,
|
* that the timer ISR will execute before the tick event is serviced,
|
||||||
* so _sys_idle_elapsed_ticks is adjusted to account for it.
|
* so _sys_idle_elapsed_ticks is adjusted to account for it.
|
||||||
*/
|
*/
|
||||||
|
@ -264,7 +264,7 @@ void _xt_tick_divisor_init(void)
|
||||||
* @brief System clock tick handler
|
* @brief System clock tick handler
|
||||||
*
|
*
|
||||||
* This routine handles the system clock periodic tick interrupt. It always
|
* This routine handles the system clock periodic tick interrupt. It always
|
||||||
* announces one tick by pushing a TICK_EVENT event onto the microkernel stack.
|
* announces one tick by pushing a TICK_EVENT event onto the kernel stack.
|
||||||
*
|
*
|
||||||
* @return N/A
|
* @return N/A
|
||||||
*/
|
*/
|
||||||
|
@ -275,7 +275,7 @@ void _timer_int_handler(void *params)
|
||||||
extern void _sys_k_event_logger_interrupt(void);
|
extern void _sys_k_event_logger_interrupt(void);
|
||||||
_sys_k_event_logger_interrupt();
|
_sys_k_event_logger_interrupt();
|
||||||
#endif
|
#endif
|
||||||
/* Announce the tick event to the microkernel. */
|
/* Announce the tick event to the kernel. */
|
||||||
_sys_clock_final_tick_announce();
|
_sys_clock_final_tick_announce();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -40,7 +40,7 @@ extern "C" {
|
||||||
#include <irq.h>
|
#include <irq.h>
|
||||||
#include <sw_isr_table.h>
|
#include <sw_isr_table.h>
|
||||||
|
|
||||||
/* physical/virtual address types required by microkernel */
|
/* physical/virtual address types required by the kernel */
|
||||||
typedef unsigned int paddr_t;
|
typedef unsigned int paddr_t;
|
||||||
typedef unsigned int vaddr_t;
|
typedef unsigned int vaddr_t;
|
||||||
|
|
||||||
|
|
|
@ -8,10 +8,10 @@ An example to illustrate the usage of crypto APIs.
|
||||||
|
|
||||||
Building and Running Project:
|
Building and Running Project:
|
||||||
|
|
||||||
This microkernel 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
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@ BootTime measures the time:
|
||||||
a) from system reset to kernel start (crt0.s's __start)
|
a) from system reset to kernel start (crt0.s's __start)
|
||||||
b) from kernel start to begin of main()
|
b) from kernel start to begin of main()
|
||||||
c) from kernel start to begin of first task
|
c) from kernel start to begin of first task
|
||||||
d) from kernel start to when microkernel's main task goes immediately idle
|
d) from kernel start to when kernel's main task goes immediately idle
|
||||||
|
|
||||||
The project can be built using one of the following three configurations:
|
The project can be built using one of the following three configurations:
|
||||||
|
|
||||||
|
@ -32,7 +32,7 @@ Building and Running Project:
|
||||||
This benchmark outputs to the console. It can be built and executed
|
This benchmark outputs to the console. It can be built and executed
|
||||||
on QEMU as follows:
|
on QEMU as follows:
|
||||||
|
|
||||||
make qemu
|
make run
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -52,13 +52,13 @@ or
|
||||||
Sample Output:
|
Sample Output:
|
||||||
|
|
||||||
tc_start() - Boot Time Measurement
|
tc_start() - Boot Time Measurement
|
||||||
MicroKernel Boot Result: Clock Frequency: 20 MHz
|
Boot Result: Clock Frequency: 25 MHz
|
||||||
__start : 377787 cycles, 18889 us
|
__start : 88410717 cycles, 3536428 us
|
||||||
_start->main(): 3915 cycles, 195 us
|
_start->main(): 2422894 cycles, 96915 us
|
||||||
_start->task : 5898 cycles, 294 us
|
_start->task : 2450930 cycles, 98037 us
|
||||||
_start->idle : 6399 cycles, 319 us
|
_start->idle : 37503993 cycles, 1500159 us
|
||||||
Boot Time Measurement finished
|
Boot Time Measurement finished
|
||||||
===================================================================
|
===================================================================
|
||||||
PASS - bootTimeTask.
|
PASS - main.
|
||||||
===================================================================
|
===================================================================
|
||||||
PROJECT EXECUTION SUCCESSFUL
|
PROJECT EXECUTION SUCCESSFUL
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
Title: Microkernel Footprint Measurement
|
Title: Kernel Footprint Measurement
|
||||||
|
|
||||||
Description:
|
Description:
|
||||||
|
|
||||||
This project is designed to characterize the memory requirements of a
|
This project is designed to characterize the memory requirements of a
|
||||||
standard microkernel image running on an Atom target.
|
standard kernel image running on an Atom target.
|
||||||
|
|
||||||
|
|
||||||
The project can be built using several configurations:
|
The project can be built using several configurations:
|
||||||
|
@ -11,7 +11,6 @@ The project can be built using several configurations:
|
||||||
minimal (a "do nothing" image that has support for few kernel capabilities)
|
minimal (a "do nothing" image that has support for few kernel capabilities)
|
||||||
-------
|
-------
|
||||||
- Idle task is only task in system.
|
- Idle task is only task in system.
|
||||||
- Microkernel server is only fiber in system.
|
|
||||||
- No system timer support.
|
- No system timer support.
|
||||||
- ISR for the spurious interrupt handling is present.
|
- ISR for the spurious interrupt handling is present.
|
||||||
- IDT and stack memory sizes are very limited.
|
- IDT and stack memory sizes are very limited.
|
||||||
|
@ -46,7 +45,7 @@ maximal (a "complex" image that has support for many kernel capabilities)
|
||||||
|
|
||||||
Building and Running Project:
|
Building and Running Project:
|
||||||
|
|
||||||
This microkernel project does not generate any output in the default case
|
This project does not generate any output in the default case
|
||||||
(TEST=min). In the regular case (TEST=reg) and the maximal case (TEST=max),
|
(TEST=min). In the regular case (TEST=reg) and the maximal case (TEST=max),
|
||||||
it outputs to the console. It can be built and executed on QEMU as follows:
|
it outputs to the console. It can be built and executed on QEMU as follows:
|
||||||
|
|
||||||
|
@ -80,7 +79,7 @@ minimal
|
||||||
-------
|
-------
|
||||||
This configuration does NOT produce any output. To observe its operation,
|
This configuration does NOT produce any output. To observe its operation,
|
||||||
invoke it using gdb and observe that:
|
invoke it using gdb and observe that:
|
||||||
- the kernel's timer ISR & _k_server fiber increment "K_LowTime" on a regular
|
- the kernel's timer ISR & main thread increment "K_LowTime" on a regular
|
||||||
basis
|
basis
|
||||||
- nano_cpu_idle() is invoked by the idle task each time K_LowTime is incremented
|
- nano_cpu_idle() is invoked by the idle task each time K_LowTime is incremented
|
||||||
|
|
||||||
|
@ -88,13 +87,13 @@ regular
|
||||||
-------
|
-------
|
||||||
This configuration prints the following message to the console:
|
This configuration prints the following message to the console:
|
||||||
|
|
||||||
Running regular microkernel configuration
|
Running regular kernel configuration
|
||||||
|
|
||||||
maximal
|
maximal
|
||||||
-------
|
-------
|
||||||
This configuration prints the following message to the console:
|
This configuration prints the following message to the console:
|
||||||
|
|
||||||
Running maximal microkernel configuration
|
Running maximal kernel configuration
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -102,4 +101,4 @@ Additional notes:
|
||||||
|
|
||||||
Various host utilities (such as the Unix "size" utility) can be used
|
Various host utilities (such as the Unix "size" utility) can be used
|
||||||
to determine the footprint of the resulting
|
to determine the footprint of the resulting
|
||||||
outdir/$BOARD/microkernel.elf image.
|
outdir/$BOARD/zephyr.elf image.
|
||||||
|
|
|
@ -18,7 +18,7 @@ result always matches the number of times the workqueue is called.
|
||||||
|
|
||||||
Building and Running Project:
|
Building and Running Project:
|
||||||
|
|
||||||
This microkernel 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 run
|
make run
|
||||||
|
|
|
@ -8,7 +8,7 @@ This test verifies that the kernel memory slab APIs operate as expected.
|
||||||
|
|
||||||
Building and Running Project:
|
Building and Running Project:
|
||||||
|
|
||||||
This microkernel 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 run
|
make run
|
||||||
|
|
|
@ -26,9 +26,6 @@ extern struct k_sem forks[N_PHILOSOPHERS];
|
||||||
*
|
*
|
||||||
* @brief Entry point to a philosopher's thread
|
* @brief Entry point to a philosopher's thread
|
||||||
*
|
*
|
||||||
* This routine runs as a task in the microkernel environment
|
|
||||||
* and as a thread in the nanokernel environment.
|
|
||||||
*
|
|
||||||
* @return N/A
|
* @return N/A
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@ kernel objects: FIFOs, LIFOs, semaphores and timers.
|
||||||
|
|
||||||
Building and Running Project:
|
Building and Running Project:
|
||||||
|
|
||||||
This microkernel 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 run
|
make run
|
||||||
|
|
|
@ -8,7 +8,7 @@ This test verifies that sprintf() and its variants operate as expected.
|
||||||
|
|
||||||
Building and Running Project:
|
Building and Running Project:
|
||||||
|
|
||||||
This microkernel 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 run
|
make run
|
||||||
|
@ -29,7 +29,7 @@ or
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
Sample Output:
|
Sample Output:
|
||||||
|
|
||||||
tc_start() - Test Microkernel sprintf APIs
|
tc_start() - Test sprintf APIs
|
||||||
|
|
||||||
===================================================================
|
===================================================================
|
||||||
Testing sprintf() with integers ....
|
Testing sprintf() with integers ....
|
||||||
|
|
|
@ -644,7 +644,7 @@ void main(void)
|
||||||
{
|
{
|
||||||
int status = TC_PASS;
|
int status = TC_PASS;
|
||||||
|
|
||||||
TC_START("Test Microkernel sprintf APIs\n");
|
TC_START("Test sprintf APIs\n");
|
||||||
|
|
||||||
PRINT_LINE;
|
PRINT_LINE;
|
||||||
|
|
||||||
|
|
|
@ -2,13 +2,13 @@ Title: Stack Protection Support
|
||||||
|
|
||||||
Description:
|
Description:
|
||||||
|
|
||||||
This test verifies that stack canaries operate as expected in the microkernel.
|
This test verifies that stack canaries operate as expected.
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
Building and Running Project:
|
Building and Running Project:
|
||||||
|
|
||||||
This microkernel 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 run
|
make run
|
||||||
|
|
|
@ -2,13 +2,13 @@ Title: Execute in Place (XIP) Support
|
||||||
|
|
||||||
Description:
|
Description:
|
||||||
|
|
||||||
This test verifies XIP is working in the microkernel
|
This test verifies XIP is working
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
Building and Running Project:
|
Building and Running Project:
|
||||||
|
|
||||||
This microkernel 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 run
|
make run
|
||||||
|
|
|
@ -9,7 +9,7 @@ semaphores, FIFOs, mailboxes, pipes, memory maps, and memory pools.
|
||||||
|
|
||||||
Building and Running Project:
|
Building and Running Project:
|
||||||
|
|
||||||
This microkernel 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 qemu
|
||||||
|
|
|
@ -18,7 +18,7 @@ idle mode.
|
||||||
|
|
||||||
Building and Running Project:
|
Building and Running Project:
|
||||||
|
|
||||||
This microkernel 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 qemu
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue