summaryrefslogtreecommitdiff
path: root/arch/arm64/include/asm/fpu.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm64/include/asm/fpu.h')
-rw-r--r--arch/arm64/include/asm/fpu.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/arch/arm64/include/asm/fpu.h b/arch/arm64/include/asm/fpu.h
new file mode 100644
index 000000000000..751e88a96734
--- /dev/null
+++ b/arch/arm64/include/asm/fpu.h
@@ -0,0 +1,27 @@
+/* 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 */