/* * Copyright (c) 2019 Intel Corporation * SPDX-License-Identifier: Apache-2.0 */ #ifndef ZEPHYR_ARCH_X86_INCLUDE_INTEL64_KERNEL_ARCH_FUNC_H_ #define ZEPHYR_ARCH_X86_INCLUDE_INTEL64_KERNEL_ARCH_FUNC_H_ #include #ifndef _ASMLANGUAGE extern void z_x86_switch(void *switch_to, void **switched_from); static inline void arch_switch(void *switch_to, void **switched_from) { z_x86_switch(switch_to, switched_from); } /** * @brief Initialize scheduler IPI vector. * * Called in early BSP boot to set up scheduler IPI handling. */ extern void z_x86_ipi_setup(void); static inline void arch_kernel_init(void) { /* nothing */; } FUNC_NORETURN void z_x86_cpu_init(struct x86_cpuboot *cpuboot); void x86_sse_init(struct k_thread *thread); void z_x86_syscall_entry_stub(void); bool z_x86_do_kernel_nmi(const z_arch_esf_t *esf); #endif /* _ASMLANGUAGE */ #endif /* ZEPHYR_ARCH_X86_INCLUDE_INTEL64_KERNEL_ARCH_FUNC_H_ */