xref: /openbmc/linux/arch/x86/boot/cpuflags.h (revision 4f2c0a4acffbec01079c28f839422e64ddeff004)
1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
2dd78b973SKees Cook #ifndef BOOT_CPUFLAGS_H
3dd78b973SKees Cook #define BOOT_CPUFLAGS_H
4dd78b973SKees Cook 
5cd4d09ecSBorislav Petkov #include <asm/cpufeatures.h>
6dd78b973SKees Cook #include <asm/processor-flags.h>
7dd78b973SKees Cook 
8dd78b973SKees Cook struct cpu_features {
9dd78b973SKees Cook 	int level;		/* Family, or 64 for x86-64 */
10e4a84be6SDave Hansen 	int family;		/* Family, always */
11dd78b973SKees Cook 	int model;
12dd78b973SKees Cook 	u32 flags[NCAPINTS];
13dd78b973SKees Cook };
14dd78b973SKees Cook 
15dd78b973SKees Cook extern struct cpu_features cpu;
16dd78b973SKees Cook extern u32 cpu_vendor[3];
17dd78b973SKees Cook 
18dd78b973SKees Cook int has_eflag(unsigned long mask);
196e6a4932SH. Peter Anvin void get_cpuflags(void);
20*4b05f815SKuppuswamy Sathyanarayanan void cpuid_count(u32 id, u32 count, u32 *a, u32 *b, u32 *c, u32 *d);
21dd78b973SKees Cook 
22dd78b973SKees Cook #endif
23