|  | /* | 
|  | * Copyright (c) 2010-2014 Wind River Systems, Inc. | 
|  | * Copyright (c) 2024 Intel Corporation | 
|  | * | 
|  | * SPDX-License-Identifier: Apache-2.0 | 
|  | */ | 
|  | #include <zephyr/kernel.h> | 
|  | #include <zephyr/internal/syscall_handler.h> | 
|  | #include <kernel_arch_interface.h> | 
|  |  | 
|  | int z_impl_k_float_disable(struct k_thread *thread) | 
|  | { | 
|  | #if defined(CONFIG_FPU) && defined(CONFIG_FPU_SHARING) | 
|  | return arch_float_disable(thread); | 
|  | #else | 
|  | ARG_UNUSED(thread); | 
|  | return -ENOTSUP; | 
|  | #endif /* CONFIG_FPU && CONFIG_FPU_SHARING */ | 
|  | } | 
|  |  | 
|  | int z_impl_k_float_enable(struct k_thread *thread, unsigned int options) | 
|  | { | 
|  | #if defined(CONFIG_FPU) && defined(CONFIG_FPU_SHARING) | 
|  | return arch_float_enable(thread, options); | 
|  | #else | 
|  | ARG_UNUSED(thread); | 
|  | ARG_UNUSED(options); | 
|  | return -ENOTSUP; | 
|  | #endif /* CONFIG_FPU && CONFIG_FPU_SHARING */ | 
|  | } | 
|  |  | 
|  | #ifdef CONFIG_USERSPACE | 
|  | static inline int z_vrfy_k_float_disable(struct k_thread *thread) | 
|  | { | 
|  | K_OOPS(K_SYSCALL_OBJ(thread, K_OBJ_THREAD)); | 
|  | return z_impl_k_float_disable(thread); | 
|  | } | 
|  | #include <zephyr/syscalls/k_float_disable_mrsh.c> | 
|  |  | 
|  | static inline int z_vrfy_k_float_enable(struct k_thread *thread, unsigned int options) | 
|  | { | 
|  | K_OOPS(K_SYSCALL_OBJ(thread, K_OBJ_THREAD)); | 
|  | return z_impl_k_float_enable(thread, options); | 
|  | } | 
|  | #include <zephyr/syscalls/k_float_enable_mrsh.c> | 
|  |  | 
|  | #endif /* CONFIG_USERSPACE */ |