forked from Minki/linux
dd78b97367
Refactor the CPU flags handling out of the cpucheck routines so that they can be reused by the future ASLR routines (in order to detect CPU features like RDRAND and RDTSC). This reworks has_eflag() and has_fpu() to be used on both 32-bit and 64-bit, and refactors the calls to cpuid to make them PIC-safe on 32-bit. Signed-off-by: Kees Cook <keescook@chromium.org> Link: http://lkml.kernel.org/r/1381450698-28710-2-git-send-email-keescook@chromium.org Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
20 lines
339 B
C
20 lines
339 B
C
#ifndef BOOT_CPUFLAGS_H
|
|
#define BOOT_CPUFLAGS_H
|
|
|
|
#include <asm/cpufeature.h>
|
|
#include <asm/processor-flags.h>
|
|
|
|
struct cpu_features {
|
|
int level; /* Family, or 64 for x86-64 */
|
|
int model;
|
|
u32 flags[NCAPINTS];
|
|
};
|
|
|
|
extern struct cpu_features cpu;
|
|
extern u32 cpu_vendor[3];
|
|
|
|
int has_eflag(unsigned long mask);
|
|
void get_flags(void);
|
|
|
|
#endif
|