x86: merge required-features.h

Signed-off-by: Brian Gerst <bgerst@didntduck.org>

authored by Brian Gerst and committed by Thomas Gleixner 23e5305d 77129c5e

+70 -104
+70 -3
include/asm-x86/required-features.h
··· 1 - #ifdef CONFIG_X86_32 2 - # include "required-features_32.h" 1 + #ifndef _ASM_REQUIRED_FEATURES_H 2 + #define _ASM_REQUIRED_FEATURES_H 1 3 + 4 + /* Define minimum CPUID feature set for kernel These bits are checked 5 + really early to actually display a visible error message before the 6 + kernel dies. Make sure to assign features to the proper mask! 7 + 8 + Some requirements that are not in CPUID yet are also in the 9 + CONFIG_X86_MINIMUM_CPU_FAMILY which is checked too. 10 + 11 + The real information is in arch/x86/Kconfig.cpu, this just converts 12 + the CONFIGs into a bitmask */ 13 + 14 + #ifndef CONFIG_MATH_EMULATION 15 + # define NEED_FPU (1<<(X86_FEATURE_FPU & 31)) 3 16 #else 4 - # include "required-features_64.h" 17 + # define NEED_FPU 0 18 + #endif 19 + 20 + #if defined(CONFIG_X86_PAE) || defined(CONFIG_X86_64) 21 + # define NEED_PAE (1<<(X86_FEATURE_PAE & 31)) 22 + # define NEED_CX8 (1<<(X86_FEATURE_CX8 & 31)) 23 + #else 24 + # define NEED_PAE 0 25 + # define NEED_CX8 0 26 + #endif 27 + 28 + #if defined(CONFIG_X86_CMOV) || defined(CONFIG_X86_64) 29 + # define NEED_CMOV (1<<(X86_FEATURE_CMOV & 31)) 30 + #else 31 + # define NEED_CMOV 0 32 + #endif 33 + 34 + #ifdef CONFIG_X86_USE_3DNOW 35 + # define NEED_3DNOW (1<<(X86_FEATURE_3DNOW & 31)) 36 + #else 37 + # define NEED_3DNOW 0 38 + #endif 39 + 40 + #ifdef CONFIG_X86_64 41 + #define NEED_PSE (1<<(X86_FEATURE_PSE & 31)) 42 + #define NEED_MSR (1<<(X86_FEATURE_MSR & 31)) 43 + #define NEED_PGE (1<<(X86_FEATURE_PGE & 31)) 44 + #define NEED_FXSR (1<<(X86_FEATURE_FXSR & 31)) 45 + #define NEED_XMM (1<<(X86_FEATURE_XMM & 31)) 46 + #define NEED_XMM2 (1<<(X86_FEATURE_XMM2 & 31)) 47 + #define NEED_LM (1<<(X86_FEATURE_LM & 31)) 48 + #else 49 + #define NEED_PSE 0 50 + #define NEED_MSR 0 51 + #define NEED_PGE 0 52 + #define NEED_FXSR 0 53 + #define NEED_XMM 0 54 + #define NEED_XMM2 0 55 + #define NEED_LM 0 56 + #endif 57 + 58 + #define REQUIRED_MASK0 (NEED_FPU|NEED_PSE|NEED_MSR|NEED_PAE|\ 59 + NEED_CX8|NEED_PGE|NEED_FXSR|NEED_CMOV|\ 60 + NEED_XMM|NEED_XMM2) 61 + #define SSE_MASK (NEED_XMM|NEED_XMM2) 62 + 63 + #define REQUIRED_MASK1 (NEED_LM|NEED_3DNOW) 64 + 65 + #define REQUIRED_MASK2 0 66 + #define REQUIRED_MASK3 0 67 + #define REQUIRED_MASK4 0 68 + #define REQUIRED_MASK5 0 69 + #define REQUIRED_MASK6 0 70 + #define REQUIRED_MASK7 0 71 + 5 72 #endif
-55
include/asm-x86/required-features_32.h
··· 1 - #ifndef _ASM_REQUIRED_FEATURES_H 2 - #define _ASM_REQUIRED_FEATURES_H 1 3 - 4 - /* Define minimum CPUID feature set for kernel These bits are checked 5 - really early to actually display a visible error message before the 6 - kernel dies. Make sure to assign features to the proper mask! 7 - 8 - Some requirements that are not in CPUID yet are also in the 9 - CONFIG_X86_MINIMUM_CPU_FAMILY which is checked too. 10 - 11 - The real information is in arch/i386/Kconfig.cpu, this just converts 12 - the CONFIGs into a bitmask */ 13 - 14 - #ifndef CONFIG_MATH_EMULATION 15 - # define NEED_FPU (1<<(X86_FEATURE_FPU & 31)) 16 - #else 17 - # define NEED_FPU 0 18 - #endif 19 - 20 - #ifdef CONFIG_X86_PAE 21 - # define NEED_PAE (1<<(X86_FEATURE_PAE & 31)) 22 - #else 23 - # define NEED_PAE 0 24 - #endif 25 - 26 - #ifdef CONFIG_X86_CMOV 27 - # define NEED_CMOV (1<<(X86_FEATURE_CMOV & 31)) 28 - #else 29 - # define NEED_CMOV 0 30 - #endif 31 - 32 - #ifdef CONFIG_X86_PAE 33 - # define NEED_CX8 (1<<(X86_FEATURE_CX8 & 31)) 34 - #else 35 - # define NEED_CX8 0 36 - #endif 37 - 38 - #define REQUIRED_MASK0 (NEED_FPU|NEED_PAE|NEED_CMOV|NEED_CX8) 39 - 40 - #ifdef CONFIG_X86_USE_3DNOW 41 - # define NEED_3DNOW (1<<(X86_FEATURE_3DNOW & 31)) 42 - #else 43 - # define NEED_3DNOW 0 44 - #endif 45 - 46 - #define REQUIRED_MASK1 (NEED_3DNOW) 47 - 48 - #define REQUIRED_MASK2 0 49 - #define REQUIRED_MASK3 0 50 - #define REQUIRED_MASK4 0 51 - #define REQUIRED_MASK5 0 52 - #define REQUIRED_MASK6 0 53 - #define REQUIRED_MASK7 0 54 - 55 - #endif
-46
include/asm-x86/required-features_64.h
··· 1 - #ifndef _ASM_REQUIRED_FEATURES_H 2 - #define _ASM_REQUIRED_FEATURES_H 1 3 - 4 - /* Define minimum CPUID feature set for kernel These bits are checked 5 - really early to actually display a visible error message before the 6 - kernel dies. Make sure to assign features to the proper mask! 7 - 8 - The real information is in arch/x86_64/Kconfig.cpu, this just converts 9 - the CONFIGs into a bitmask */ 10 - 11 - /* x86-64 baseline features */ 12 - #define NEED_FPU (1<<(X86_FEATURE_FPU & 31)) 13 - #define NEED_PSE (1<<(X86_FEATURE_PSE & 31)) 14 - #define NEED_MSR (1<<(X86_FEATURE_MSR & 31)) 15 - #define NEED_PAE (1<<(X86_FEATURE_PAE & 31)) 16 - #define NEED_CX8 (1<<(X86_FEATURE_CX8 & 31)) 17 - #define NEED_PGE (1<<(X86_FEATURE_PGE & 31)) 18 - #define NEED_FXSR (1<<(X86_FEATURE_FXSR & 31)) 19 - #define NEED_CMOV (1<<(X86_FEATURE_CMOV & 31)) 20 - #define NEED_XMM (1<<(X86_FEATURE_XMM & 31)) 21 - #define NEED_XMM2 (1<<(X86_FEATURE_XMM2 & 31)) 22 - 23 - #define REQUIRED_MASK0 (NEED_FPU|NEED_PSE|NEED_MSR|NEED_PAE|\ 24 - NEED_CX8|NEED_PGE|NEED_FXSR|NEED_CMOV|\ 25 - NEED_XMM|NEED_XMM2) 26 - #define SSE_MASK (NEED_XMM|NEED_XMM2) 27 - 28 - /* x86-64 baseline features */ 29 - #define NEED_LM (1<<(X86_FEATURE_LM & 31)) 30 - 31 - #ifdef CONFIG_X86_USE_3DNOW 32 - # define NEED_3DNOW (1<<(X86_FEATURE_3DNOW & 31)) 33 - #else 34 - # define NEED_3DNOW 0 35 - #endif 36 - 37 - #define REQUIRED_MASK1 (NEED_LM|NEED_3DNOW) 38 - 39 - #define REQUIRED_MASK2 0 40 - #define REQUIRED_MASK3 0 41 - #define REQUIRED_MASK4 0 42 - #define REQUIRED_MASK5 0 43 - #define REQUIRED_MASK6 0 44 - #define REQUIRED_MASK7 0 45 - 46 - #endif