···11-#ifdef CONFIG_X86_3222-# include "required-features_32.h"11+#ifndef _ASM_REQUIRED_FEATURES_H22+#define _ASM_REQUIRED_FEATURES_H 133+44+/* Define minimum CPUID feature set for kernel These bits are checked55+ really early to actually display a visible error message before the66+ kernel dies. Make sure to assign features to the proper mask!77+88+ Some requirements that are not in CPUID yet are also in the99+ CONFIG_X86_MINIMUM_CPU_FAMILY which is checked too.1010+1111+ The real information is in arch/x86/Kconfig.cpu, this just converts1212+ the CONFIGs into a bitmask */1313+1414+#ifndef CONFIG_MATH_EMULATION1515+# define NEED_FPU (1<<(X86_FEATURE_FPU & 31))316#else44-# include "required-features_64.h"1717+# define NEED_FPU 01818+#endif1919+2020+#if defined(CONFIG_X86_PAE) || defined(CONFIG_X86_64)2121+# define NEED_PAE (1<<(X86_FEATURE_PAE & 31))2222+# define NEED_CX8 (1<<(X86_FEATURE_CX8 & 31))2323+#else2424+# define NEED_PAE 02525+# define NEED_CX8 02626+#endif2727+2828+#if defined(CONFIG_X86_CMOV) || defined(CONFIG_X86_64)2929+# define NEED_CMOV (1<<(X86_FEATURE_CMOV & 31))3030+#else3131+# define NEED_CMOV 03232+#endif3333+3434+#ifdef CONFIG_X86_USE_3DNOW3535+# define NEED_3DNOW (1<<(X86_FEATURE_3DNOW & 31))3636+#else3737+# define NEED_3DNOW 03838+#endif3939+4040+#ifdef CONFIG_X86_644141+#define NEED_PSE (1<<(X86_FEATURE_PSE & 31))4242+#define NEED_MSR (1<<(X86_FEATURE_MSR & 31))4343+#define NEED_PGE (1<<(X86_FEATURE_PGE & 31))4444+#define NEED_FXSR (1<<(X86_FEATURE_FXSR & 31))4545+#define NEED_XMM (1<<(X86_FEATURE_XMM & 31))4646+#define NEED_XMM2 (1<<(X86_FEATURE_XMM2 & 31))4747+#define NEED_LM (1<<(X86_FEATURE_LM & 31))4848+#else4949+#define NEED_PSE 05050+#define NEED_MSR 05151+#define NEED_PGE 05252+#define NEED_FXSR 05353+#define NEED_XMM 05454+#define NEED_XMM2 05555+#define NEED_LM 05656+#endif5757+5858+#define REQUIRED_MASK0 (NEED_FPU|NEED_PSE|NEED_MSR|NEED_PAE|\5959+ NEED_CX8|NEED_PGE|NEED_FXSR|NEED_CMOV|\6060+ NEED_XMM|NEED_XMM2)6161+#define SSE_MASK (NEED_XMM|NEED_XMM2)6262+6363+#define REQUIRED_MASK1 (NEED_LM|NEED_3DNOW)6464+6565+#define REQUIRED_MASK2 06666+#define REQUIRED_MASK3 06767+#define REQUIRED_MASK4 06868+#define REQUIRED_MASK5 06969+#define REQUIRED_MASK6 07070+#define REQUIRED_MASK7 07171+572#endif
-55
include/asm-x86/required-features_32.h
···11-#ifndef _ASM_REQUIRED_FEATURES_H22-#define _ASM_REQUIRED_FEATURES_H 133-44-/* Define minimum CPUID feature set for kernel These bits are checked55- really early to actually display a visible error message before the66- kernel dies. Make sure to assign features to the proper mask!77-88- Some requirements that are not in CPUID yet are also in the99- CONFIG_X86_MINIMUM_CPU_FAMILY which is checked too.1010-1111- The real information is in arch/i386/Kconfig.cpu, this just converts1212- the CONFIGs into a bitmask */1313-1414-#ifndef CONFIG_MATH_EMULATION1515-# define NEED_FPU (1<<(X86_FEATURE_FPU & 31))1616-#else1717-# define NEED_FPU 01818-#endif1919-2020-#ifdef CONFIG_X86_PAE2121-# define NEED_PAE (1<<(X86_FEATURE_PAE & 31))2222-#else2323-# define NEED_PAE 02424-#endif2525-2626-#ifdef CONFIG_X86_CMOV2727-# define NEED_CMOV (1<<(X86_FEATURE_CMOV & 31))2828-#else2929-# define NEED_CMOV 03030-#endif3131-3232-#ifdef CONFIG_X86_PAE3333-# define NEED_CX8 (1<<(X86_FEATURE_CX8 & 31))3434-#else3535-# define NEED_CX8 03636-#endif3737-3838-#define REQUIRED_MASK0 (NEED_FPU|NEED_PAE|NEED_CMOV|NEED_CX8)3939-4040-#ifdef CONFIG_X86_USE_3DNOW4141-# define NEED_3DNOW (1<<(X86_FEATURE_3DNOW & 31))4242-#else4343-# define NEED_3DNOW 04444-#endif4545-4646-#define REQUIRED_MASK1 (NEED_3DNOW)4747-4848-#define REQUIRED_MASK2 04949-#define REQUIRED_MASK3 05050-#define REQUIRED_MASK4 05151-#define REQUIRED_MASK5 05252-#define REQUIRED_MASK6 05353-#define REQUIRED_MASK7 05454-5555-#endif
-46
include/asm-x86/required-features_64.h
···11-#ifndef _ASM_REQUIRED_FEATURES_H22-#define _ASM_REQUIRED_FEATURES_H 133-44-/* Define minimum CPUID feature set for kernel These bits are checked55- really early to actually display a visible error message before the66- kernel dies. Make sure to assign features to the proper mask!77-88- The real information is in arch/x86_64/Kconfig.cpu, this just converts99- the CONFIGs into a bitmask */1010-1111-/* x86-64 baseline features */1212-#define NEED_FPU (1<<(X86_FEATURE_FPU & 31))1313-#define NEED_PSE (1<<(X86_FEATURE_PSE & 31))1414-#define NEED_MSR (1<<(X86_FEATURE_MSR & 31))1515-#define NEED_PAE (1<<(X86_FEATURE_PAE & 31))1616-#define NEED_CX8 (1<<(X86_FEATURE_CX8 & 31))1717-#define NEED_PGE (1<<(X86_FEATURE_PGE & 31))1818-#define NEED_FXSR (1<<(X86_FEATURE_FXSR & 31))1919-#define NEED_CMOV (1<<(X86_FEATURE_CMOV & 31))2020-#define NEED_XMM (1<<(X86_FEATURE_XMM & 31))2121-#define NEED_XMM2 (1<<(X86_FEATURE_XMM2 & 31))2222-2323-#define REQUIRED_MASK0 (NEED_FPU|NEED_PSE|NEED_MSR|NEED_PAE|\2424- NEED_CX8|NEED_PGE|NEED_FXSR|NEED_CMOV|\2525- NEED_XMM|NEED_XMM2)2626-#define SSE_MASK (NEED_XMM|NEED_XMM2)2727-2828-/* x86-64 baseline features */2929-#define NEED_LM (1<<(X86_FEATURE_LM & 31))3030-3131-#ifdef CONFIG_X86_USE_3DNOW3232-# define NEED_3DNOW (1<<(X86_FEATURE_3DNOW & 31))3333-#else3434-# define NEED_3DNOW 03535-#endif3636-3737-#define REQUIRED_MASK1 (NEED_LM|NEED_3DNOW)3838-3939-#define REQUIRED_MASK2 04040-#define REQUIRED_MASK3 04141-#define REQUIRED_MASK4 04242-#define REQUIRED_MASK5 04343-#define REQUIRED_MASK6 04444-#define REQUIRED_MASK7 04545-4646-#endif