Zephyr Project API  3.2.0
A Scalable Open Source RTOS
kernel_arch_interface.h File Reference

Internal kernel APIs implemented at the architecture layer. More...

#include <zephyr/kernel.h>
#include <zephyr/sys/arch_interface.h>
#include <kernel_arch_func.h>

Go to the source code of this file.

Enumerations

enum  arch_page_location { ARCH_PAGE_LOCATION_PAGED_OUT , ARCH_PAGE_LOCATION_PAGED_IN , ARCH_PAGE_LOCATION_BAD }
 

Functions

void arch_busy_wait (uint32_t usec_to_wait)
 
void arch_new_thread (struct k_thread *thread, k_thread_stack_t *stack, char *stack_ptr, k_thread_entry_t entry, void *p1, void *p2, void *p3)
 
static void arch_switch (void *switch_to, void **switched_from)
 
void arch_switch_to_main_thread (struct k_thread *main_thread, char *stack_ptr, k_thread_entry_t _main)
 
int arch_float_disable (struct k_thread *thread)
 Disable floating point context preservation. More...
 
int arch_float_enable (struct k_thread *thread, unsigned int options)
 Enable floating point context preservation. More...
 
FUNC_NORETURN void arch_system_halt (unsigned int reason)
 
static bool arch_is_in_isr (void)
 
void arch_mem_map (void *virt, uintptr_t phys, size_t size, uint32_t flags)
 
void arch_mem_unmap (void *addr, size_t size)
 
int arch_page_phys_get (void *virt, uintptr_t *phys)
 
void arch_reserved_pages_update (void)
 
void arch_mem_page_out (void *addr, uintptr_t location)
 
void arch_mem_page_in (void *addr, uintptr_t phys)
 
void arch_mem_scratch (uintptr_t phys)
 
enum arch_page_location arch_page_location_get (void *addr, uintptr_t *location)
 
uintptr_t arch_page_info_get (void *addr, uintptr_t *location, bool clear_accessed)
 
int arch_printk_char_out (int c)
 
static void arch_kernel_init (void)
 
static void arch_nop (void)
 
void arch_coredump_info_dump (const z_arch_esf_t *esf)
 Architecture-specific handling during coredump. More...
 
uint16_t arch_coredump_tgt_code_get (void)
 Get the target code specified by the architecture. More...
 
size_t arch_tls_stack_setup (struct k_thread *new_thread, char *stack_ptr)
 Setup Architecture-specific TLS area in stack. More...
 

Detailed Description

Internal kernel APIs implemented at the architecture layer.

Not all architecture-specific defines are here, APIs that are used by public functions and macros are defined in include/sys/arch_interface.h.

For all inline functions prototyped here, the implementation is expected to be provided by arch/ARCH/include/kernel_arch_func.h