root/arch/arm64/include/asm/fpu.h
/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * Copyright (C) 2023 SiFive
 */

#ifndef __ASM_FPU_H
#define __ASM_FPU_H

#include <linux/preempt.h>
#include <asm/neon.h>

#define kernel_fpu_available()  cpu_has_neon()

static inline void kernel_fpu_begin(void)
{
        BUG_ON(!in_task());
        preempt_disable();
        kernel_neon_begin(NULL);
}

static inline void kernel_fpu_end(void)
{
        kernel_neon_end(NULL);
        preempt_enable();
}

#endif /* ! __ASM_FPU_H */