[continued from previous message]
+} Loongarch64Info;
+
+Loongarch64Info GetLoongarch64Info(void);
+
+typedef enum
+{
+ LOONGARCH64_CPUCFG,
+ LOONGARCH64_LAM,
+ LOONGARCH64_UAL,
+ LOONGARCH64_FPU,
+ LOONGARCH64_LSX,
+ LOONGARCH64_LASX,
+ LOONGARCH64_CRC32,
+ LOONGARCH64_COMPLEX,
+ LOONGARCH64_CRYPTO,
+ LOONGARCH64_LVZ,
+ LOONGARCH64_LAST_,
+} Loongarch64FeaturesEnum;
+
+int GetLoongarch64FeaturesEnumValue(const Loongarch64Features* features,
+ Loongarch64FeaturesEnum value);
+
+const char* GetLoongarch64FeaturesEnumName(Loongarch64FeaturesEnum);
+
+CPU_FEATURES_END_CPP_NAMESPACE
+
+#if !defined(CPU_FEATURES_ARCH_LOONGARCH64)
+#error "Including cpuinfo_loongarch64.h from a non-loongarch64 target." +#endif
+
+#endif // CPU_FEATURES_INCLUDE_CPUINFO_LOONGARCH64_H_
--- gnss-sdr-0.0.18.orig/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/cpu_features/include/internal/hwcaps.h
+++ gnss-sdr-0.0.18/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/cpu_features/include/internal/hwcaps.h
@@ -101,6 +101,18 @@ CPU_FEATURES_START_CPP_NAMESPACE
#define ARM_HWCAP2_SHA2 (1UL << 3)
#define ARM_HWCAP2_CRC32 (1UL << 4)
+//LOONGARCH64
+#define LOONGARCH64_HWCAP_CPUCFG (1UL << 0)
+#define LOONGARCH64_HWCAP_LAM (1UL << 1)
+#define LOONGARCH64_HWCAP_UAL (1UL << 2)
+#define LOONGARCH64_HWCAP_FPU (1UL << 3)
+#define LOONGARCH64_HWCAP_LSX (1UL << 4)
+#define LOONGARCH64_HWCAP_LASX (1UL << 5)
+#define LOONGARCH64_HWCAP_CRC32 (1UL << 6)
+#define LOONGARCH64_HWCAP_COMPLEX (1UL << 7)
+#define LOONGARCH64_HWCAP_CRYPTO (1UL << 8)
+#define LOONGARCH64_HWCAP_LVZ (1UL << 9)
+
//
http://elixir.free-electrons.com/linux/latest/source/arch/mips/include/uapi/asm/hwcap.h