1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * CPU feature definitions for module loading, used by 4 * module_cpu_feature_match(), see uapi/asm/hwcap.h for LoongArch CPU features. 5 * 6 * Copyright (C) 2020-2022 Loongson Technology Corporation Limited 7 */ 8 9 #ifndef __ASM_CPUFEATURE_H 10 #define __ASM_CPUFEATURE_H 11 12 #include <uapi/asm/hwcap.h> 13 #include <asm/elf.h> 14 15 #define MAX_CPU_FEATURES (8 * sizeof(elf_hwcap)) 16 17 #define cpu_feature(x) ilog2(HWCAP_ ## x) 18 19 static inline bool cpu_have_feature(unsigned int num) 20 { 21 return elf_hwcap & (1UL << num); 22 } 23 24 #endif /* __ASM_CPUFEATURE_H */ 25