44 lines
949 B
C
44 lines
949 B
C
/*
|
|
* 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 <kernel_structs.h>
|
|
|
|
#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_ */
|