/* * Copyright (c) 2019 Carlo Caione #ifdef __cplusplus extern "C" { #endif #ifndef _ASMLANGUAGE static ALWAYS_INLINE void arch_kernel_init(void) { } static inline void arch_switch(void *switch_to, void **switched_from) { z_arm64_call_svc(switch_to, switched_from); return; } extern void z_arm64_fatal_error(z_arch_esf_t *esf, unsigned int reason); extern void z_arm64_userspace_enter(z_arch_esf_t *esf, uintptr_t sp_el0); extern void z_arm64_set_ttbr0(uintptr_t ttbr0); extern void z_arm64_ptable_ipi(void); #ifdef CONFIG_FPU_SHARING void z_arm64_flush_local_fpu(void); void z_arm64_flush_fpu_ipi(unsigned int cpu); #endif #endif /* _ASMLANGUAGE */ #ifdef __cplusplus } #endif #endif /* ZEPHYR_ARCH_ARM64_INCLUDE_KERNEL_ARCH_FUNC_H_ */