You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
956 B
43 lines
956 B
/* |
|
* 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 <zephyr/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_ */
|
|
|