1 /* 2 * Copyright (c) 2019 Intel Corporation 3 * SPDX-License-Identifier: Apache-2.0 4 */ 5 6 #ifndef ZEPHYR_ARCH_X86_INCLUDE_INTEL64_KERNEL_ARCH_FUNC_H_ 7 #define ZEPHYR_ARCH_X86_INCLUDE_INTEL64_KERNEL_ARCH_FUNC_H_ 8 9 #include <kernel_structs.h> 10 11 #ifndef _ASMLANGUAGE 12 13 extern void z_x86_switch(void *switch_to, void **switched_from); 14 arch_switch(void * switch_to,void ** switched_from)15static inline void arch_switch(void *switch_to, void **switched_from) 16 { 17 z_x86_switch(switch_to, switched_from); 18 } 19 20 /** 21 * @brief Initialize scheduler IPI vector. 22 * 23 * Called in early BSP boot to set up scheduler IPI handling. 24 */ 25 26 extern void z_x86_ipi_setup(void); 27 arch_kernel_init(void)28static inline void arch_kernel_init(void) 29 { 30 /* nothing */; 31 } 32 33 FUNC_NORETURN void z_x86_cpu_init(struct x86_cpuboot *cpuboot); 34 35 void x86_sse_init(struct k_thread *thread); 36 37 void z_x86_syscall_entry_stub(void); 38 39 bool z_x86_do_kernel_nmi(const z_arch_esf_t *esf); 40 41 #endif /* _ASMLANGUAGE */ 42 43 #endif /* ZEPHYR_ARCH_X86_INCLUDE_INTEL64_KERNEL_ARCH_FUNC_H_ */ 44