28 lines
448 B
C
28 lines
448 B
C
/* 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 */
|