1 /* Check if CPU has some minimum CPUID bits
2 This runs in 16bit mode so that the caller can still use the BIOS
3 to output errors on the screen */
4 #include <asm/cpufeature.h>
7 pushfl # Save caller passed flags
8 pushl $0 # Kill any dangerous flags
11 #if CONFIG_X86_MINIMUM_CPU_MODEL >= 4
14 orl $(1<<18),%eax # try setting AC
22 #if REQUIRED_MASK1 != 0
23 pushfl # standard way to check for cpuid
32 pushfl # standard way to check for cpuid
41 jz bad # REQUIRED_MASK1 != 0 requires CPUID
43 movl $0x0,%eax # See if cpuid 1 is implemented
48 movl $0x1,%eax # Does the cpu have what it takes
51 #if CONFIG_X86_MINIMUM_CPU_MODEL > 4
52 #error add proper model checking here
55 andl $REQUIRED_MASK1,%edx
56 xorl $REQUIRED_MASK1,%edx
58 #endif /* REQUIRED_MASK1 */