arm64: dts: qcom: sm8550: add TRNG node
[linux-modified.git] / lib / raid6 / loongarch.h
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /*
3  * Copyright (C) 2023 WANG Xuerui <git@xen0n.name>
4  *
5  * raid6/loongarch.h
6  *
7  * Definitions common to LoongArch RAID-6 code only
8  */
9
10 #ifndef _LIB_RAID6_LOONGARCH_H
11 #define _LIB_RAID6_LOONGARCH_H
12
13 #ifdef __KERNEL__
14
15 #include <asm/cpu-features.h>
16 #include <asm/fpu.h>
17
18 #else /* for user-space testing */
19
20 #include <sys/auxv.h>
21
22 /* have to supply these defines for glibc 2.37- and musl */
23 #ifndef HWCAP_LOONGARCH_LSX
24 #define HWCAP_LOONGARCH_LSX     (1 << 4)
25 #endif
26 #ifndef HWCAP_LOONGARCH_LASX
27 #define HWCAP_LOONGARCH_LASX    (1 << 5)
28 #endif
29
30 #define kernel_fpu_begin()
31 #define kernel_fpu_end()
32
33 #define cpu_has_lsx     (getauxval(AT_HWCAP) & HWCAP_LOONGARCH_LSX)
34 #define cpu_has_lasx    (getauxval(AT_HWCAP) & HWCAP_LOONGARCH_LASX)
35
36 #endif /* __KERNEL__ */
37
38 #endif /* _LIB_RAID6_LOONGARCH_H */